小程序解析HTML5
2024-09-02 08:51:09
最近做项目的时候碰到一个问题,就是调用接口获取信息到页面上,内容与HTML5标签一起获取过来了。一起显示在微信端上。一般都是二次开发才有可能出现这种问题。通过查找方法,找到了一个可以把HTML5标签转换微信小程序格式显示html5内容数据插件(wxParse),这种做法缺点就是每一次调用都会执行一次。但是可以把带html标签的数据输出为微信小程序正常显示的格式。
所以以下解决方法。
先把转换的html5的插件下载下来。1.下载地址:https://github.com/icindy/wxParse
wxParse插件
我把下载好的插件放在项目最外面,你们看个人情况。
我这里导入这些文件,是那个页面需要转换在然后再导入的。
2.在使用的View中引入WxParse.js模块
var WxParse = require('../../../wxParse/wxParse.js');
2.1在使用的Wxss中引入WxParse.css
@import "../../../wxParse/wxParse.wxss";
3、我这里是直接获取接口的。所以不是模拟数据。(数据绑定)
//在使用的View中引入WxParse模块
var WxParse = require('../../../wxParse/wxParse.js');
Page({
/**
* 页面的初始数据
*/
data: { },
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var that = this;
// 内容详情
wx.request({
//这里写你们调用的接口
url: 'http://172.16.1.128:8080/project/xm/liang/lch',
method: 'POST',
header: {
'content-type': 'application/x-www-form-urlencoded', },
success: function (res) { //因为我这里从数据库读取出来的的东西,只有content有HTML5标签的。所以我这里单独拿出来给这个字段转换。这里到时候在wxml获取内容就是引入模板进来 WxParse.wxParse('article', 'html', res.data.data.content, that, 5);
//这里直接赋值就可以了 ,到时候在wxml获取信息就 {{movie:title}}
that.setData({
movie: res.data.data,
}) },
fail: function (res) {
console.log('转换submit fail');
},
complete: function (res) {
console.log('转换submit complete');
}
}); },
4、模版引用
没有引入模板之前的内容
我这里正常拿值,很明显这里是没有用 wxparse 模板文件
不是我们需要的,可以注释这几行代码了,
<view>
<text class="z-subtitle">{{movie.content}}</text>
</view>
重点在这里,这里就是需要转换的内容
<!--导入模块 -->
<import src="../../../wxParse/wxParse.wxml" />
<view>
<view>
<text class='headline'>{{movie.title}}</text>
</view>
<!--
<view>
<text class="z-subtitle">{{movie.content}}</text>
</view> --> <!--引入 wxparse 模板文件 这里是固定写法 这里单独获取content内容-->
<!--这里data中article为bindName-->
<view class="wxParse">
<template is="wxParse" data="{{wxParseData:article.nodes}}"/>
</view> </view>
现在问题已经解决了,刚才那些HTML5标签都转换成功了,已经没有原样输出了,只是我用画笔颜色挡住了内容。
希望这篇文章能够解决你们的问题,初学者写的笔记,哪里不足望各位路过的大神指点。
最新文章
- 从零开始学 Java - Spring MVC 实现跨域资源 CORS 请求
- ArrayList添加新元素的覆盖问题
- PHP MYSQL单向同步方案
- Hadoop 生态系统
- DirectoryInfo类
- php __clone需要注意的问题
- Dojo Widget中的全局变量
- OD: DEP &; Ret2Libc
- PHP_OOP
- Can&#39;t connect to local MySQL server through socket &#39;/var/run/mysqld/mysqld.sock’
- Hibernate的二级缓存策略
- Dynamics 365 Customer Engagement V9 活动源功能报错的解决方法
- css的position
- webpack学习笔记--多种配置类型
- go语言练习:通道、协程
- 可视化分析 web 访问日志
- 类的专有方法(__del__)
- [转] Actor生命周期理解
- mnist手写数字识别(Logistic回归)
- BZOJ 3261: 最大异或和位置-贪心+可持久化01Trie树