对于在微信小程序开发中,插入html代码,有两种做法,具体如下:
一.方法1:使用微信小程序组件rich-text
1. js文件中
content内容为html代码,使用replace() 方法进行字符的替换,达到预期的效果(不需要改,直接复制即可)。
Page({
/**
* 页面的初始数据
*/
data: {
content:'',
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var content = "<div><h3 style='margin-bottom:10px'>美景图</h3><img src='../resource/image/img1.jpg'></img></div>";
var newContent = content.replace(/<img/gi, '<img style="max-width:100%;height:auto;display:block" ')
.replace(/</g, '<')
.replace(/>/g, '>')
.replace(/&nbsp;/g, ' ')
.replace(/"/g, '\"');
this.setData({
content:newContent
})
},
})
2. wxml文件中
rich-text中,nodes绑定的是html代码。
<view>
<rich-text nodes="{{content}}"></rich-text>
</view>
效果如下:
关于rich-text组件,具体可看官网:https://developers.weixin.qq/miniprogram/dev/component/rich-text.html
注意,如下截图:
1. 看第5点,也就是说只能支持部分html标签(具体看官网),如video标签是不支持,会被移除的。
二. 方法2:使用插件实现html代码解析
对于rich-text组件,如不能支持video标签,那么使用插件可以实现video标签的解析。
1. 下载:https://github/icindy/wxParse
如下,点击下载。
下载解压,将文件夹中的wxParse文件夹复制粘贴到小程序根目录下的utils文件夹下。
如下,wxParse文件夹下的emojis文件夹里都是一些表情包图片,格式为gif。如果不需要,可直接删除。
2. js文件中:js引入和数据绑定
1)在要使用wxParse的页面的js文件头部引入WxParse模块:var WxParse = require('../../utils/wxParse/wxParse.js');
2)数据绑定:WxParse.wxParse('article', 'html', content, this, 0);其中“article”为绑定名字,名字自定义,使用时用到。
var WxParse = require('../../utils/wxParse/wxParse.js');
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var content = '<div><h3 style="margin-bottom:10px">美景图</h3><img src="../resource/image/img1.jpg"></img><p><video class="edui-upload - video vjs -default-skin video-js" controls="" preload="none" width="420" height="280" src="../resource/111.mp4" data-setup="{}"></video></p></div>';
WxParse.wxParse('article', 'html', content, this, 0); // 实例化对象
},
})
3. wxml文件中:使用
<view>
<!-- 引入模板 -->
<import src="../../utils/wxParse/wxParse.wxml" />
<!--data中,article为绑定名字 -->
<template is="wxParse" data="{{wxParseData:article.nodes}}" />
</view>
效果如下:
此外,引入样式:wxParse.wxss,可以在使用的页面(xxx.csss)中引入,也可全局(app.css)引入。
可引入可不引入,主要看实际页面效果。
@import "../../utils/wxParse/wxParse.wxss";
更多推荐
微信小程序 -- 插入html代码
发布评论