小程序本身并不太支持html代码,比如html的img、span、p这个时候改这么办呢?需要用到一个小插件WxParse来实现。

小程序高级交流群:336925436

 微信小程序支持富文本编辑器代码

一:下载:https://github.com/icindy/wxParse

二:将wxParse文件夹粘贴到项目

三:引入文件

index.js文件中引入

var WxParse = require('../wxParse/wxParse.js');
onLoad: function (e) {
var article = '<div>我是HTML代码<img src="http://image.chunshuitang.com/goods/401078.jpg"></img></div>';
WxParse.wxParse('article', 'html', article, that, ); // 实例化对象 },

index.wxss

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

index.wxml

<import src="../wxParse/wxParse.wxml" />   // 引入文件
<view class="content {{tabArr.curBdIndex=='0'? 'active' : ''}}"><template is="wxParse" data="{{wxParseData:article.nodes}}"></view>   // 这段放入需要显示的位置

拓展:在实际应用中wx.request和wxParse一起使用有可能会出现,ajax请求属于同步与异步的问题,解决办法如下

onLoad: function (e) {
// 设置全局变量 商品id
var that = this;
that.gid = e.gid; // 获取详情
that.requestGoodsInfo(that.gid);
//console.log(that.data); //如果wxparse放这里,会出现数据为空(ajax异步这里是没有数据的);
//var article = '<div>我是HTML代码<img src="http://image.chunshuitang.com/goods/401078.jpg"></img></div>';
//WxParse.wxParse('article', 'html', article, that, 5); }, // swiper 幻灯片 // 获取详情
requestGoodsInfo:function(gid){
var that = this;
var goodsInfo = api.url.goodsInfo;
//console.log(goodsInfo);
wx.request({
url: "https://api.xxx.com/goods/index",
method:'get',
data:{gid:gid},
success:function(res){
//console.log(res.data.data);
if(res.data.code ==){
that.setData({
goods: res.data.data
})
      // 这里是完美方案
//var article = '<div>我是HTML代码<img src="http://image.chunshuitang.com/goods/401078.jpg"></img></div>'; // 这里是文字版
var article = res.data.data.content; // 这里是ajax请求数据
WxParse.wxParse('article', 'html', article, that, );
}else{
wx.showLoading({
title: '数据出现故障',
duration: ,
})
}
},
fail:function(){
wx.showLoading({
title: '网络出现故障',
duration:
})
}
})
},

其它:

- wxParse/
-wxParse.js(必须存在)
-html2json.js(必须存在)
-htmlparser.js(必须存在)
-showdown.js(必须存在)
-wxDiscode.js(必须存在)
-wxParse.wxml(必须存在)
-wxParse.wxss(必须存在)
-emojis(可选)

小程序支持富文本编辑器代码

使用方法基本与微信小程序一样,有几个地方需要修改

1.文件引入样式:@import "/wxParse/wxParse.acss";

2.引入js:var WxParse= require('../../wxParse/wxParse.js');

3.wxParse.wxml改名wxParse.axml,并且bindload(微信专用) 改为onLoad(支付宝专用)

<template name="wxParseImg">
<image class="{{item.classStr}} wxParse-{{item.tag}}" data-from="{{item.from}}" data-src="{{item.attr.src}}"
data-idx="{{item.imgIndex}}" src="{{item.attr.src}}" onLoad="wxParseImgLoad" //此处要改
bindtap="wxParseImgTap" mode="widthFix" style="width:{{item.width}}px;"/>
</template>

wxParse.axml改名wxParse.acss

4.wxParse.js 修改

// 微信小程序专用
/**
* utils函数引入
**/
import showdown from './showdown.js';
import HtmlToJson from './html2json.js'; // 支付宝小程序专用
import showdown from '/wxParse/showdown.js';
import HtmlToJson from '/wxParse/html2json.js';

5.html2json.js

// 微信小程序专用
var wxDiscode = require('./wxDiscode.js');
var HTMLParser = require('./htmlparser.js');
// 支付宝小程序专用
var wxDiscode = require('/wxParse/wxDiscode.js');
var HTMLParser = require('/wxParse/htmlparser.js');

总结:各种路径修改要正确

小程序高级交流群:336925436

微信小程序/支付宝小程序 WxParse解析富文本(html)代码的更多相关文章

  1. wxParse解析富文本内容使点击图片可以选中并实现放大缩小

    wxParse解析富文本内容不多说,之前写过步骤介绍,主要是在使用过程中发现解析的富文本内容里有图片时有的可以点击放大缩小,有的点击却报错,找不到imgUrls. 经过排查发现:循环解析的富文本内容正 ...

  2. 小程序里面使用wxParse解析富文本导致页面空白等

    在部分安卓手机上会出现白屏的情况且有些ios手机上图文混排上,图片显示不出问题 解决:把插件里面的console.dir去掉即可(原因在于安卓手机无法解析console.dir) 有些图片解析出来下面 ...

  3. 微信小程序小结(3) -- 使用wxParse解析html及多数据循环

    wxParse-微信小程序富文本解析组件:https://github.com/icindy/wxParse 支持Html及markdown转wxml可视化 使用 1.copy下载好的文件夹wxPar ...

  4. js判断移动端浏览器类型,微信浏览器、支付宝小程序、微信小程序等

    起因 现在市场上各种跨平台开发方案百家争鸣各有千秋,个人认为最成熟的还是hybird方案,简单的说就是写H5各种嵌入,当然作为前端工程师最希望的也就是公司采用hybird方案当作技术路线. 所谓的hy ...

  5. 微信小程序—支付宝小程序与微信小程序的不同点对比

    支付宝小程序语法 http://caibaojian.com/aliapp-wxapp.html https://www.cnblogs.com/bgwhite/p/9447639.html http ...

  6. php 解析富文本编辑器中的hmtl内容,富文本样式正确输出

    说明:富文本编辑器中的内容在直接获获取后需要解析以后才能在页面中正确显示 我在后端这样处理: $content = htmlspecialchars_decode($info['intro']); h ...

  7. java 解析富文本处理 img 标签

    很多项目都需要到富文本来添加内容,就好比新闻啊,旅游景点之类的,都需要使用富文本去添加数据,然而怎么我这边就发现了两个问题 1)怎样将富文本的图片的 src 获取出来? 2)后台上传的时候用的是相对路 ...

  8. 从文本中提取图片路径(java 解析富文本处理 img 标签)

    很多项目都需要到富文本来添加内容,就好比新闻啊,旅游景点之类的,都需要使用富文本去添加数据,然而怎么我这边就发现了两个问题 怎样将富文本的图片的 src 获取出来? 方法一: 利用正则表达式: pub ...

  9. 微信小程序 使用wxParse解析html

    微信小程序 加载 HTML 标签:https://blog.csdn.net/zclengendary/article/details/54312030 微信小程序 使用wxParse解析html:h ...

随机推荐

  1. C#学习笔记(2)——操作sqlite数据库增删改查

    说明(2017-5-25 10:49:50): 1. app.config文件 Alt+Shift+C创建类,选择“应用程序配置文件”,添加<connectionStrings>,要先打个 ...

  2. redis过期回调以及键空间通知

    背景 最近需要涉及一个定时通知的业务,之前的办法是采用定时任务,每秒查询一次.后来了解到Redis的键空间通知机制,其中的过期通知,和业务非常贴合. 键空间通知 下面是Redis中文文档的介绍 键空间 ...

  3. page size == 4096 , nand size == 1GB, block size == 256kb 的ubi 文件系统制作

    mkubiimg.sh 2 sudo mkfs.ubifs -F -q -r rootfs_ecm_5410 -m 4096 -e 253952 -c 3600 -o ubifs.img 3 4 ec ...

  4. Knockout开发中文API系列1

    从本节开始介绍关于KnockoutJs相关的内容,本节主要介绍knockoutjs一些重要特性与优点,以及它与Jquery等框架库之间的区别. 1.Knockout.js是什么? Knockout是一 ...

  5. Java编程的逻辑 (43) - 剖析TreeMap

    本系列文章经补充和完善,已修订整理成书<Java编程的逻辑>,由机械工业出版社华章分社出版,于2018年1月上市热销,读者好评如潮!各大网店和书店有售,欢迎购买,京东自营链接:http:/ ...

  6. #pragma alloc_text

    #pragma alloc_text 编译时控制分页能力 有时,驱动程序的某些部分必须驻留内存而另一些可以被分页,这就需要一种能控制代码和数据是否分页的方法.通过指导编译器的段分配可以实现这个目的.在 ...

  7. Linux文本编辑器(九)

    [教程主题]:Linux文本编辑器 [1]vi vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任 何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令. 由于对U ...

  8. Eclipse启动都会Error when loading the SDK

    http://jingyan.baidu.com/article/aa6a2c14fb54190d4c19c480.html

  9. 安卓程序代写 网上程序代写[原]C语言基础

    C 作者:han1202012 发表于2013-11-1 19:53:29 原文链接 阅读:28 评论:0 查看评论

  10. 关于Unity中新版动画系统的使用

    Mecanim动画 1:旧版动画系统只能通过代码来控制动画播放,随着动画种类变多,代码复杂度也会增加,同时动画过渡也需要非常繁琐的代码控制,为了让有经验的动画师开发动画,unity推出了针对人物角色的 ...