更新记录

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 内容展示。

组件

  • zr-html

核心能力

  • 基础 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-textuni.previewImageuni.setClipboardData,不依赖 plus 或浏览器 DOM。

linkClickimageClick 保留原始事件;uni-app 的节点属性从 e.detail.node.attrs 读取。链接由宿主业务处理,不会自动打开外部页面。图片请优先使用可访问的 HTTPS PNG/JPEG 地址。图片预览失败会触发 error,携带原始错误 detail

参考:鸿蒙开发rich-text

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

暂无用户评论。