Skip to content
在新窗口打开实时预览

Parse 富文本解析 ​

snake-parse 用于渲染文章、商品详情等 HTML 内容。内置 HTML 解析、图片预览、链接处理、表格横向滚动、音视频与 App-NVue 支持,可独立使用。

平台兼容性 ​

H5App微信小程序支付宝小程序
√√√√

App-NVue 通过内置 WebView 渲染复杂内容;iframe、embed 等嵌入标签仅在 H5 与 App 上渲染。平台差异见下方“安全与兼容”。

基础用法 ​

vue
<snake-parse :content="article" preview-img scroll-table @linktap="onLinkTap" />

content 接收 HTML 字符串;图片预览由 preview-img 控制,表格内容较宽时可启用 scroll-table。

API ​

Props ​

参数说明类型默认值
contentHTML 字符串string''
domain相对链接主域名string—
containerStyle根容器样式string''
tagStyle标签默认样式Record<string, string>—
previewImg / lazyLoad图片预览、懒加载boolean | stringtrue / false
loadingImg / errorImg图片占位图string''
showImgMenu / copyLink图片菜单、外链处理boolean | stringtrue
pauseVideo / scrollTable媒体自动暂停、表格横滑boolean | stringtrue / —
selectable / useAnchor文本选择、页内锚点boolean | string / boolean | number—
setTitle是否将 HTML title 设为页面标题boolean | stringtrue

Events ​

事件触发时机与参数
load内容解析并加载后触发
ready图片等内容就绪后触发,参数为节点布局信息或空对象
imgtap / linktap点击图片或链接时触发,传入相应属性
play / error媒体播放或出错时触发

Methods ​

组件 ref 提供 setContent(content, append)、getText()、getRect()、navigateTo(id, offset)、pauseMedia() 和 setPlaybackRate(rate)。

Slots ​

名称说明
defaultcontent 尚未解析出节点时显示的占位内容

安全与兼容 ​

解析器按标签白名单渲染,移除脚本、表单和事件属性。H5 与 App 端可渲染 iframe、embed,因此不可信 HTML 仍应在服务端完成清洗,并限制可访问的嵌入地址;小程序端会忽略这些嵌入标签。H5、App、小程序使用原生节点;App-NVue 使用内置 WebView 处理复杂内容。

主题变量 ​

Parse 没有专用的 --snake-parse-* 变量。可通过 containerStyle 设置容器样式、通过 tagStyle 设置标签默认样式;需要跟随全局主题时,使用色彩令牌。

为 uni-app 商城与 CMS 场景设计