微信公會號內的圖片,你引用後會出現:javascript
這時咱們能夠作一點簡單處理java
第一種jquery
原圖片連接web
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標籤測試
上代碼this
/** * 解決引入微信圖片問題 * 引用微信公衆號內圖片會出現非法圖片或未受權 * 將圖片轉換爲 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 = ''; })
測試okurl