微信小程序富文本渲染引擎的详解

发布时间 - 2026-01-11 03:29:53    点击率:

微信小程序富文本渲染引擎的详解

步骤

  • 把 wxParser 目录放到小程序项目的根目录下
  • 在需要富文本解析的 WXML 内引入 wxParser/index.wxml
  • 在页面 JS 文件内使用 wxParser.parse(options) 方法解析 HTML 内容
  • 在小程序项目根目录的 app.wxss 内引入 wxParser 的默认样式库

wxParser.parse(options) 方法的 options 参数说明

参数名 类型 必填 描述
bind String 要绑定的数据名称
html String HTML 内容
target Object 绑定数据的模块对象
enablePreviewImage Boolean 是否启用富文本内的图片预览功能,默认是
tapLink Function 点击超链接时的回调函数

示例

WXML:在需要用到富文本解析的文件夹下的 WXML 中引入 wxParser/index.wxml

// 将 WXML 引入需要富文本解析的文件下
<import src="../../wxParser/index.wxml"/>
<view class="wxParser">
 <template is="wxParser" data="{{wxParserData:richText.nodes}}"/>
</view>

JS:在需要用到富文本解析的文件夹下的 JS 中引入 wxParser 渲染引擎

// 在
const wxParser = require('../../wxParser/index');

Page({
 data: {},
 onLoad: function () {
  let that = this;
  let html = `<div style="color: #f00;">hello, wxParser!</div>`;

  wxParser.parse({
   bind: 'richText',
   html: html,
   target: that,
   enablePreviewImage: false, // 禁用图片预览功能
   tapLink: (url) => { // 点击超链接时的回调函数
    // url 就是 HTML 富文本中 a 标签的 href 属性值
    // 这里可以自定义点击事件逻辑,比如页面跳转
    wx.navigateTo({
     url
    });
   }
  });

 }
})

WXSS:在根目录的 app.wxss 内引入 wxParser 的默认样式库

@import '../wxParser/index.wxss'

注意

  • JS 中的 richText 可以自定义,但是必须要与 WXML 中的 richText 对应
  • 推荐把 template 放到 <view class="wxParser"></view> 内部,这样可以受 wxParser 控制并具有 wxParser 的一些默认样式
  • 不建议直接修改 wxParser 的默认样式(因为内容库样式会有定期更新),应该新增一个样式补丁文件用来自定义样式

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# 微信小程序富文本渲染引擎  # 小程序  # 富文本渲染引擎的实例详解  # 微信小程序rich-text富文本用法实例分析  # 微信小程序整合使用富文本编辑器的方法详解  # 微信小程序实现富文本图片宽度自适应的方法  # 如何去除富文本中的html标签及vue、react、微信小程序中的过滤器  # 微信小程序 富文本转文本实例详解  # 微信小程序解析富文本过程详解  # 自定义  # 绑定  # 回调  # 超链接  # 会有  # 如有  # 希望能  # 跳转  # 谢谢大家  # 必填  # 疑问请  # 必须要  # String  # td  # bind  # tbody  # tr  # html  # tapLink  # Function 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  零基础网站服务器架设实战:轻量应用与域名解析配置指南  大连 网站制作,大连天途有线官网?  网站建设保证美观性,需要考虑的几点问题!  JavaScript如何实现类型判断_typeof和instanceof有什么区别  Laravel如何实现API资源集合?(Resource Collection教程)  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  如何撰写建站申请书?关键要点有哪些?  ChatGPT常用指令模板大全 新手快速上手的万能Prompt合集  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Laravel怎么使用artisan命令缓存配置和视图  Laravel N+1查询问题如何解决_Eloquent预加载(Eager Loading)优化数据库查询  Laravel观察者模式如何使用_Laravel Model Observer配置  作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  高端云建站费用究竟需要多少预算?  网页制作模板网站推荐,网页设计海报之类的素材哪里好?  Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤  Laravel PHP版本要求一览_Laravel各版本环境要求对照  奇安信“盘古石”团队突破 iOS 26.1 提权  *服务器网站为何频现安全漏洞?  Laravel如何集成Inertia.js与Vue/React?(安装配置)  用v-html解决Vue.js渲染中html标签不被解析的问题  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  如何快速生成凡客建站的专业级图册?  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何在 React 中条件性地遍历数组并渲染元素  详解MySQL数据库的安装与密码配置  如何彻底删除建站之星生成的Banner?  详解jQuery停止动画——stop()方法的使用  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  网站制作软件有哪些,制图软件有哪些?  python中快速进行多个字符替换的方法小结  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  零服务器AI建站解决方案:快速部署与云端平台低成本实践  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】  Swift开发中switch语句值绑定模式  百度浏览器网页无法复制文字怎么办 百度浏览器复制修复  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  EditPlus 正则表达式 实战(3)  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  Python数据仓库与ETL构建实战_Airflow调度流程详解  JavaScript如何实现音频处理_Web Audio API如何工作?  Python3.6正式版新特性预览  Win11怎么更改系统语言为中文_Windows11安装语言包并设为显示语言  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能