微信公会号内的图片,你引用后会出现:
这时我们可以做一点简单处理
第一种
原图片链接
https://mmbiz.qpic.cn/mmbiz/gJX7diatPruv1nUuCDiae8on4UdONka51EpPdQhUoFZ9zkZtzVLJia5hqYbibRdlKicsdxmNyBcQkFb8VyqGWqSHucQ/640?tp=webp&wxfrom=5&wx_lazy=1
tp=webp 改成 wx_fmt=jpeg
https://mmbiz.qpic.cn/mmbiz/gJX7diatPruv1nUuCDiae8on4UdONka51EpPdQhUoFZ9zkZtzVLJia5hqYbibRdlKicsdxmNyBcQkFb8VyqGWqSHucQ/640?wx_fmt=jpeg&wxfrom=5&wx_lazy=1
试下,有的就成功,但是有的就不成功。
换一种思路,我们将 img 标签 改为 iframe 内套 img标签
上代码
/** * 解决引入微信图片问题 * 引用微信公众号内图片会出现非法图片或未授权 * 将图片转换为 iframe 在做处理 * @author lmaster * @email 407987823@qq.com * @jquery 1.12.4 */ $(function() { window.WxImgTemp = \'\'; var article = \'.article\'; //定位,其下所以的img都会做处理 var showWxImg = function(jQele) { //jQele 为 jquery 对象 var url = jQele.attr(\'src\'), time = new Date().getTime(), frameid = \'wxImg_\' + time; window.WxImgTemp = \'<img id="img" style="width:100%" src=\\'\' + url + \'?\' + time + \'\\' />\ <script>window.onload = function() {\ parent.document.getElementById(\\'\' + frameid + \'\\').height = document.getElementById(\\'img\\').height+\\'px\\'; \ }</script>\'; var iframe = \'<iframe id="\' + frameid + \'" \ src="javascript:parent.WxImgTemp;" \ frameBorder="0" scrolling="no" width="100%"></iframe>\'; jQele.after(iframe).remove() }; $(article + \' img\').each(function(index, element) { showWxImg($(this)) }) window.WxImgTemp = \'\'; })
测试ok