关于Hexo无法访问语雀图片的问题- 2020-10-10 22:25- hexo: 语雀图片,hexo,403


从语雀编辑文档同步到hexo后,发现hexo无法访问语雀的图片,这是因为从 2019 年 8 月起,语雀上的一些静态图片开启了防外链设置,会导致过 api 同步语雀文章的内容到第三方的平台时静态资源都无法访问,包括图片在内。

查询了yuque-hexo的github之后,得到两种临时解决方案,有兴趣的可以查看一下:https://github.com/x-cold/yuque-hexo/issues/41,我也会在下面的内容中介绍这两种方案。

方案一:在html模版中添加head进行绕过

临时方案是直接在html模版中添加head进行绕过,一般是添加在主题下的post.ejs文件中,主题不同添加的文件也不同.

  1. < meta name =“ referrer content =“ no-referrer />

这种方案我自己用下来发现有下面几种问题:
1.如果有使用不蒜子,那么上面这种方法就会导致不蒜子失效
2.一篇文章中如果有多张图片,那么只有第一张图片会展示(可能我添加的head位置不对导致的,没有细研究这个问题,有兴趣的可以试试)

方案二:通过img标签添加referrerpolicy属性可以解决

  1. <img width="120" height="120" src="https://cdn.nlark.com/yuque/0/2019/png/123320/1574751346300-cf918f18-6831-4bef-99e1-ae4d10e233cb.png" referrerpolicy="no-referrer">

这种方案也有一种弊端,需要懂js的同学手动修改代码,对于没有js基础的同学来说不是很友好。另外有同学反映使用这种方式有些浏览器是无效的。或者手机浏览器,pc上safiar浏览器,开启后chrome能正常展示。

**