微信小程序使用第三方组件wxParse加载富文本html

微信小程序使用第三方组件wxParse加载富文本html

  • 微信小程序
  • 微信小程序加载富文本html
  • 微信小程序富文本第三方组件wxParse
  • wxParse
  • 富文本html

wxParse简介

wxParse 是一个微信小程序富文本解析组件,支持支持Html及markdown转wxml。

wxParse gitHub地址:https://github.com/icindy/wxParse

目前项目已停止维护了,原因未知。

wxParse使用

  1. 按照gitHub上的指,下载demo之后,将里面的 wxParse 文件直接引入到小程序的项目中。
    在这里插入图片描述
  2. 在 wxss 中 引入 css 样式文件
@import "../../utils/wxParse/wxParse.wxss";

在这里插入图片描述
3. 在 wxml 中引用模版

<import src="../../utils/wxParse/wxParse.wxml"/><view class="wxParse"><template is="wxParse" data="{{wxParseData:article.nodes}}"/>
</view>
  1. 在 js 中数据绑定
onLoad() {var article = this.data.content;var that = this;WxParse.wxParse('article', 'html', article, that, 5);},

其中 article 的内容应该是包含富文本内容的字符串。

例子

这是一个富文本字符串:

<h2 class='kc-course-harvest-title' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(15, 20, 25);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:18px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;letter-spacing:normal;line-height:24px;margin:0px 0px 16px;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'><strong>你将获得</strong></h2><ul><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>全栈开发必备技能体系,HTML5+CSS3+JavaScript+C#+MySQL</li><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>业务场景真实实战项目,基础实战相结合</li><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>手把手从零开始教学</li></ul>`

在浏览器上的显示效果:
在这里插入图片描述

使用 wxParse 在微信小程序里加载此富文本

js

const WxParse = require('../../utils/wxParse/wxParse.js')Page({data: {content: `<h2 class='kc-course-harvest-title' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(15, 20, 25);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:18px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;letter-spacing:normal;line-height:24px;margin:0px 0px 16px;orphans:2;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'><strong>你将获得</strong></h2><ul><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>全栈开发必备技能体系,HTML5+CSS3+JavaScript+C#+MySQL</li><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>业务场景真实实战项目,基础实战相结合</li><li class='kc-list list' style='-webkit-text-stroke-width:0px;background-color:rgb(255, 255, 255);box-sizing:border-box;color:rgb(102, 114, 128);font-family:&quot;PingFang SC&quot;, -apple-system, BlinkMacSystemFont, &quot;Microsoft YaHei UI&quot;, &quot;Microsoft YaHei&quot;, Roboto, &quot;Hiragino Sans GB&quot;, &quot;Source Han Sans CN&quot;, &quot;Fira Sans&quot;, &quot;Droid Sans&quot;, &quot;Helvetica Neue&quot;, arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;;font-size:14px;font-style:normal;font-variant-caps:normal;font-variant-ligatures:normal;font-weight:400;letter-spacing:normal;list-style:outside none none;margin:0px;orphans:2;padding:0px;text-align:start;text-decoration-color:initial;text-decoration-style:initial;text-decoration-thickness:initial;text-indent:0px;text-transform:none;white-space:normal;widows:2;word-break:break-word;word-spacing:0px;'>手把手从零开始教学</li></ul>`},onLoad() {var article = this.data.content.replace(/&quot;/g, '');;var that = this;WxParse.wxParse('article', 'html', article, that, 5);}
})

html

<import src="../../utils/wxParse/wxParse.wxml"/><view class="wxParse"><template is="wxParse" data="{{wxParseData:article.nodes}}"/>
</view>

css

@import "../../utils/wxParse/wxParse.wxss";

在小程序里的显示效果如下:

请添加图片描述

注意

  1. 富文本字符串中不应该有一些特殊字符,例如 &quot;

如果加载富文本html,当字符串显示了出来,那一般就是富文本字符串中包含了一些特殊字符,电脑浏览器可能识别,在微信小程序上会加载不出来。
在加载富文本的时候,去掉 &quot; 即可。

var article = this.data.content.replace(/&quot;/g, '');;
var that = this;
WxParse.wxParse('article', 'html', article, that, 5);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/13130.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ARM中断实验

#ifndef __KEY_H__ #define __KEY_H__#include "stm32mp1xx_rcc.h" #include "stm32mp1xx_gpio.h" #include "stm32mp1xx_exti.h" #include "stm32mp1xx_gic.h"//对RCC/GPIO/EXTI章节的初始化 void hal_key1_exti_init();//对GIC的初始…

Css基础:盒子模型

1.盒子模型的构成&#xff1a; 边框 外边距 内边距 实际内容 2.table表格的单元格之间的线太粗需要border-collapse:collapse;合并一下边框宽度 3.内边距 padding 4.外边距 margin 块元素水平居中的做法&#xff0c;margin:0 auto; 行内元素和行内块元素 水平居中做…

Pyqt5+PyQt-Fluent-Widgets+Pycharm环境安装

文章目录 1. Pyqt5环境安装2. Pycharm配置QtDesigner3. PyQt-Fluent-Widgets插件安装4. 在QtDesigner中使用PyQt-Fluent-Widgets 1. Pyqt5环境安装 使用miniconda创建一个新环境作为pyqt5的开发。这里使用的python3.8版本&#xff0c;网上说太高的python3.10版本无法同时安装py…

Linux 共享内存

概念&#xff1a; 在Linux系统中&#xff0c;共享内存是一种用于进程间通信的机制&#xff0c;它允许多个进程共享同一块内存区域。 Linux 共享内存的作用和目的&#xff1a; Linux共享内存的主要目的是在不同的进程之间实现高效的数据交换和共享。它可以用于以下几个方面&…

Excel如何在运算中过滤重复数据?

来百度APP畅享高清图片 问题&#xff1a;两个对比表格内的数据实际是有重复的但是不是完全重复&#xff0c;比如a-b 和b-a 只是顺序换了但是条件格式就无法筛选了&#xff0c;只能筛选出a-b a-b 的相同数据。 需求&#xff1a;要筛选出a-b a-b b-a的重复数据&#xff0c;或者把…

7月7日发布?OPPO A78 4G手机跑分库曝光

据报道&#xff0c;OPPO计划在7月7日发布A78 4G手机。在正式发布之前&#xff0c;该手机已经在GeekBench跑分库中出现。根据GeekBench 6.1版本&#xff0c;A78 4G单核成绩为411分&#xff0c;多核成绩为1263分。 跑分页面显示 OPPO A78 4G 型号为 CPH2565&#xff0c;主板代号为…

如何提高力扣(Leetcode)的解题能力?

如何提高力扣&#xff08;Leetcode&#xff09;的解题能力&#xff1f; 力扣&#xff08;Leetcode&#xff09;是一个在线编程平台&#xff0c;提供了各种算法和数据结构的题目&#xff0c;让程序员可以练习和提高自己的编程技能。很多人都把力扣&#xff08;Leetcode&#xf…

Mybatis-plus——增删改查相关+id生成策略+多数据操作(删除)+逻辑删除+乐观锁+代码生成器

项目文件总览 Dao层中 domain层中 测试类中含有三个测试方法&#xff0c;分别对应&#xff0c;插入删除和修改 id生成策略 针对不同的场景使用不同的id,用到提供的一个注解TableId 在实体类中使用Tablefiled注解时可以看见有如下的多种策略 使用第一个AUTO策略 运行插入方法得…

vue清除地址栏参数(可以单个,可以多个)

需求 vue跳转新页面后&#xff0c;清除url里面的参数&#xff0c;就是上一个页面带过来的参数&#xff0c;只用一次 mounted () {this.$nextTick(() > {let url this.getnewurl()window.history.replaceState(null, null, url);})},methods: { //根据参数名去清除&#xf…

ModaHub魔搭社区:阿里云CTO周靖人:魔搭社区将成为中国最大的“大模型自由市场”

7月7日消息&#xff0c;阿里云CTO周靖人在上海世界人工智能大会上宣布了阿里云的发展计划。 他表示&#xff0c;阿里云将致力于推动中国大模型生态的繁荣&#xff0c;并为大模型创业公司提供全方位的支持。阿里云魔搭社区已经聚集了180万AI开发者和900多个优质AI模型&#xff0…

Unity3d的智力拼图小游戏

Unity3d的智力拼图小游戏 项目地址&#xff1a;https://download.csdn.net/download/Highning0007/88015674

3.4.流的学习,异步任务的管理

目录 前言1. 流总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记。 本次课程学习精简 CUDA 教程-流的学习&#xff0c;异步任务的管理 课程大…