微信小程序使用wxparse,显示图片的相对路径问题

 

微信小程序使用wxparse,有一个问题,就是我们在网页后台编辑器里面的图片如果上传的时候采用了相对路径,在wxparse里就不能正常显示,但是,如果在编辑器里直接上传成绝对的网络地址路径之后,如果万一以后换域名了。也是个问题。所以最好的方式就是让wxparse在使用的时候,自动添加域名前缀就可以了。

所以需要改动这个文件:html2json.js 

这个文件的这段代码的imgurl,前面加一个你的域名,这样在你使用的时候,就会自动添加上域名了。

亲测,可以用。

  //对img添加额外数据
            if (node.tag === 'img') {
                node.imgIndex = results.images.length;
                var imgUrl = “http://www.baidu.com(这块换成你的域名地址前缀就可以了)”+node.attr.src;
                if (imgUrl[0] == '') {
                    imgUrl.splice(0, 1);
                }
                imgUrl = wxDiscode.urlToHttpUrl(imgUrl, __placeImgeUrlHttps);
                node.attr.src = imgUrl;
                node.from = bindName;
                results.images.push(node);
                results.imageUrls.push(imgUrl);
            }

评论中有粉丝问,编辑器里面既有网络图片,也有本地图片,这个怎么办?当时提供了一个思路就是判断一下node.attr.src中是否含有http,如果有就不加前缀,没有就加上前缀。

这几天用的时候,自己真就遇到了这个问题,所以就更新下。

用以下代码来判断就可以了。确定思路正确。没有问题。

      //对img添加额外数据
            if (node.tag === 'img') {
                node.imgIndex = results.images.length;
                var ifhttp=node.attr.src.indexOf("http");
                if(ifhttp==0)
                {
                    var imgUrl = node.attr.src;
                }
                if(ifhttp==-1)
                {
                    var imgUrl = "你的域名,注意带不带/"+node.attr.src;
                }
                
                if (imgUrl[0] == '') {
                    imgUrl.splice(0, 1);
                }
                imgUrl = wxDiscode.urlToHttpUrl(imgUrl, __placeImgeUrlHttps);
                node.attr.src = imgUrl;
                node.from = bindName;
                results.images.push(node);
                results.imageUrls.push(imgUrl);
            }

 

你可能感兴趣的:(微信小程序使用wxparse,显示图片的相对路径问题)