微博图床开启了防盗链,导致图片 403 了,这个不用我多说,界面说 3 种解决方法:
-
解决方法是 HTML 加上
<meta name="referrer" content="no-referrer" />,但是这种效果不会,影响统计功能。 -
给 img 标签加上
referrerpolicy="no-referrer",这样仅会让图片的请求没有 ReFerer,不影响其他 HTTP 的请求。 -
在方法 2 的步骤上升级一下。对 img 的 Src 进行匹配,只有匹配 通过的 img 标签才会加上
referrerpolicy="no-referrer",实现方法是添加 JavaScript 代码。
var link = "" ;
// 遍历所有的 img 标签
$("img").each( (i,o) => {
var o = $(o);
// 判断图片的链接是否包含 sinaimg 关键字
if( o.attr("src").indexOf("sinaimg") > 0 ){
// 给这个标签加上 referrerPlicy 属性
o.attr("referrerpolicy","no-referrer");
// 备份图片的 src
link = o.attr("src");
// 重新设置 src,让页面重新加载一次图片
o.attr("src",link);
}
});