微信小程序WxParse解析html代码

时间:2017-12-19 19:39:20   收藏:0   阅读:2213

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

 

一:下载: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, 5);   // 实例化对象
    
  }, 

 

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 ==0){
          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, 5); }else{ wx.showLoading({ title: 数据出现故障, duration: 1000, }) } }, fail:function(){ wx.showLoading({ title: 网络出现故障, duration: 1500 }) } }) },

 

 

其它:

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

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!