此图片来自微信公众平台未经允许不可引用 解决方法

Posted 梁大师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了此图片来自微信公众平台未经允许不可引用 解决方法相关的知识,希望对你有一定的参考价值。

微信公会号内的图片,你引用后会出现:

这时我们可以做一点简单处理

第一种

原图片链接

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

以上是关于此图片来自微信公众平台未经允许不可引用 解决方法的主要内容,如果未能解决你的问题,请参考以下文章

此图片来自微信公众平台未经允许不可引用 解决方法

微信图片防盗链“此图片来自微信公众平台 未经允许不可引用”的解决方案

关于微信公众号图片防盗链问题的解决办法

关于微信公众号图片防盗链问题的解决办法

微信图片反防盗链的方法

微信公众号获取的图片不能正常显示的问题