Hexo使用Gitee+PicGO图墙图片不显示

1.1k 词

image.png

如何只对网页中的img标签进行no-referrer限制。

要对网页中的img标签进行no-referrer限制,您可以使用以下方法:

  1. 使用JavaScript:在网页中插入以下JavaScript代码,它将遍历所有的img标签,并为每个img标签设置rel属性为"noreferrer"。

window.addEventListener('DOMContentLoaded', function() {
  var imgTags = document.getElementsByTagName('img');
  for (var i = 0; i < imgTags.length; i++) {
    imgTags[i].setAttribute('referrerpolicy', 'no-referrer');
  }
});
  1. 使用CSS:在网页的样式表(CSS)中添加以下代码,它将为所有的img标签设置rel属性为"noreferrer"。

img {
  referrerpolicy: no-referrer;
}

请注意,这些方法都是在客户端(浏览器)执行的,并且只会影响到加载了该代码或样式表的网页。如果您想全局应用no-referrer限制,您可能需要在服务器端配置相关设置。

直接在头文件中禁用,是可以跃过图片防盗链,但同时百度统计也屏蔽了, 图是可以显示了, 但是百度统计不过了。

用JS动态进行no-referrer设置。

要在百度的统计JS加载之后,加载上面的代码,这样百度就可以正常统计了, 这段代码要放到Hexo的主题文件里, 标签不能用普通的JS标签,要用Hexo主题用的标签。

if theme.baidu_analytics
  script.
    (function () {
    var meta = document.createElement('meta')
    meta.content = 'no-referrer'
    meta.name = 'referrer'
    document.getElementsByTagName('head')[0].appendChild(meta)
    })()

这段代码放在主题的百度代码统计之后, 图墙的图片就可以显示了, 并且百度的统计也是正常。

html的img标签显示图片的例子

Example Image

image.png