在第三方平台上使用微信图片的时候随机性出现“此图片来自微信公众平台未经允许不可引用“,昨天遇到这个坑,查了查一般都说在地址前加上第三方防盗链地址。试了下有效果,但是第三方服务的稳定性不可保证。故舍弃方法。
后面想了一种方法,直接上代码:
var weixinimgindex=0;
function loadweixinimg(url) {
weixinimgindex++;
window['img'+weixinimgindex] = '<img id="img' + weixinimgindex + '" src=\'' + url + '?' + Math.random() + '\' οnlοad=\'parent.showweixinimg(this,'+weixinimgindex+')\' style=\'width: 100%; height: 100%; padding: .5rem 0;\' />';
return '<iframe id="frameimg' + weixinimgindex + '" src="javascript:parent.img'+weixinimgindex+';" style="display: none;"></iframe>';
}
function showweixinimg(ele,key){
$("#frameimg"+key).replaceWith(ele);
}
原理是先加载图片然后用图片把iframe替换掉,这样就不用担心样式问题了,如果直接使用iframe会有样式问题,很难调整。