更新记录
0.0.4(2026-09-08)
- 修复表格 thead 标签误替换和已有 style 属性重复插入。
- 修复图片地址误提取 data-src、查询参数实体未还原及纯文本段落粘连。
- 完善鸿蒙 Vue3 Demo,覆盖全部公开属性、方法、事件以及空内容、动态更新、宽表格、多图预览。
- 10 项 JavaScript 回归测试和鸿蒙资源编译通过;设备交互仍需实际运行验证。
0.0.3(2026-09-08)
- 新增 uni-app Vue3 鸿蒙 App 平台声明与接入说明。
- 修复
itemclick 未读取 detail.node.attrs,导致图片点击误判为链接的问题。
- 图片预览失败通过
error 回传,空节点不再触发链接事件。
- 示例补充链接点击、图片预览开关与错误展示。
- 本次不声明 uni-app x 鸿蒙或鸿蒙元服务支持。
- 修复 thead 标签误替换、已有 style 重复插入、图片 data-src 误提取以及纯文本段落粘连。
- Demo 补齐全部公开属性、方法和事件的操作入口,以及空内容、动态内容、宽表格和多图场景。
0.0.1(2026-05-02)
新增
- 新增富文本渲染组件
zr-html。
- 支持基础 HTML 内容渲染。
- 支持过滤
<script> 脚本内容。
- 支持过滤
onxxx 危险事件属性。
- 支持过滤
/code> 危险链接。
- 支持渲染完成事件和链接点击事件。
- 支持
getText() 提取纯文本。
优化
- 补充完整首页 demo,覆盖文章富文本、安全过滤、渲染状态和纯文本提取截图场景。
- 补充详情页级
readme.md,完善 API、事件、方法、平台兼容性和安全边界说明。
- 完善插件市场发布配置、平台兼容性、授权价格和文档说明。
注意
- 当前安全过滤为基础正则方案,不是完整 HTML Sanitizer。
- 复杂表格、代码块、图片预览建议后续版本补强。
查看更多
平台兼容性
uni-app(5.08)
| Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
| √ |
√ |
√ |
√ |
√ |
- |
5.0 |
12 |
5.0.0 |
| 微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
小红书小程序 |
快应用-华为 |
快应用-联盟 |
| √ |
√ |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
uni-app x(5.08)
| Chrome |
Safari |
Android |
iOS |
鸿蒙 |
微信小程序 |
| √ |
√ |
5.0 |
12 |
- |
- |
其他
富文本渲染组件
zhuanz-richhtml 提供基础 HTML 渲染、安全过滤、链接点击和纯文本提取能力,适合公告详情、协议内容、图文详情和 CMS 内容展示。
组件
核心能力
- 基础 HTML 渲染。
<script> 脚本过滤。
onxxx 危险事件属性过滤。
/code> 危险链接过滤。
- 表格基础边框和内边距样式补齐。
- 图片最大宽度适配。
- 图片点击预览。
- 渲染完成事件。
- 链接点击事件。
- 纯文本提取
getText()。
- 纯文本复制
copyText()。
安装路径
uni_modules/zhuanz-richhtml
基础示例
<template>
<zr-html ref="html" :content="content" @ready="onReady" @linkClick="onLinkClick" @imageClick="onImageClick" />
</template>
<script>
export default {
data() {
return {
content: '<h2>公告标题</h2><p>这里是富文本内容。</p><img src="/static/richhtml-demo.svg" />'
}
},
methods: {
onReady() {},
onLinkClick(e) {},
onImageClick(e) {},
getPlainText() {
return this.$refs.html.getText()
},
copyPlainText() {
this.$refs.html.copyText()
}
}
}
</script>
Props
| 属性 |
类型 |
默认值 |
说明 |
content |
String |
'' |
HTML 字符串 |
safeMode |
Boolean |
true |
是否开启基础安全过滤 |
tableScroll |
Boolean |
true |
是否允许富文本区域横向滚动,便于展示宽表格 |
imagePreview |
Boolean |
true |
点击图片时是否调用 uni.previewImage |
Events
| 事件 |
说明 |
ready |
内容更新后的 Vue nextTick 通知,不代表图片已加载完成 |
error |
错误事件 |
linkClick |
链接点击事件 |
imageClick |
图片点击事件 |
Methods
| 方法 |
说明 |
getText() |
获取过滤标签后的纯文本 |
getImages() |
获取富文本中的图片地址数组 |
previewImage(src) |
预览指定图片 |
copyText() |
复制纯文本到剪贴板 |
setContent(html) |
当前版本提示通过 content 属性更新 |
平台兼容性
- uni-app Vue2 / Vue3:支持。
- H5:支持。
- App Vue:支持。
- 微信小程序:支持。
- 支付宝小程序:支持。
- HarmonyOS NEXT App:新增 uni-app Vue3 适配,HBuilderX 5.08+、HarmonyOS 5.0+;构建与真机验证范围见工程内《鸿蒙适配说明.md》。
- 鸿蒙不支持 uni-app Vue2;鸿蒙元服务不在本次适配范围内。
- uni-app x:当前发布目录只有
.vue / JavaScript 实现,本次不声明 uni-app x 鸿蒙支持。
注意事项
- 当前安全过滤为基础正则方案,适合普通内容展示。
- 不建议将其宣传为完整 HTML Sanitizer。
- 表格样式为基础增强,复杂表格仍建议业务侧控制 HTML 结构。
- 图片预览依赖
uni.previewImage,图片地址需要宿主项目可访问。
鸿蒙接入
使用 Vue3 工程,将 uni_modules/zhuanz-richhtml 复制到项目后,通过 HBuilderX 运行到鸿蒙。组件使用官方 rich-text、uni.previewImage 和 uni.setClipboardData,不依赖 plus 或浏览器 DOM。
linkClick、imageClick 保留原始事件;uni-app 的节点属性从 e.detail.node.attrs 读取。链接由宿主业务处理,不会自动打开外部页面。图片请优先使用可访问的 HTTPS PNG/JPEG 地址。图片预览失败会触发 error,携带原始错误 detail。
参考:鸿蒙开发、rich-text。