sakura
sakura copied to clipboard
追番页面给每个图片单独设置 referrerPolicy
page-bangumi.php 中设置了全局 referrer 规则:非同源请求不发送 referer <meta name="referrer" content="same-origin">
。
如果开启了 PJAX 局部刷新,从追番页面去到其它页面该规则也会被保留,这会导致后面的非同源请求也不发送 referer。
如果有非同源资源比如 CDN 禁止空 referer 请求,那么这部分资源就会无法访问。
meta是不是应该放在head里面
meta是不是应该放在head里面
没太懂意思,放在 head 里不就是全站生效了吗? 因为追番页面捕获到的番封面图只能空 referer 引用,而站里的其它资源可能又需要 referer,这样就会有冲突,所以修改成了给每个番封面图的 img 标签加上 referrerPolicy。
head里面可以条件判断是什么页面
我有这样试着做一下,但实现了不同页面使用不同的 referer,单个 bangumi 页面下各资源也会有需要不同 referer 的时候。比如直接访问 bangumi 页面,因为没有缓存,站点许多静态资源都要获取,如果这些资源是在 CDN 上需要 referer 的,那页面就无法正常加载了。 直接给 img 标签单独设定 referrerPolicy 是感觉最简单直接的办法了。
此前 jsdelivr 失效,我就改成了用自己的 cdn,而且禁止了空 referer 访问,才发现了这个问题。