Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >解决 hexo 博客的图片链接失效问题

解决 hexo 博客的图片链接失效问题

作者头像
leader755
发布于 2022-03-07 07:51:48
发布于 2022-03-07 07:51:48
1.5K00
代码可运行
举报
运行总次数:0
代码可运行

1.首先找到 hexo 博客的主题文件夹目录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
D:\Blog_leader755\themes\halo\layout\_partial\head.ejs

修改上述路径的文件 head.ejs ,因为每个页面都会包含 head 这个文件,在里面加上一行代码就能解决。

2.加入此行代码到页面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<meta name="referrer" content="no-referrer" />

3.暂时解决载了外链限制的问题

4.随之而来的问题出现了

如果你同时使用了 不蒜子 (https://busuanzi.ibruce.info/)统计,你会发现问题,查看控制台会出现不蒜子出现跨域的请求。这是为什么呢。由于使用了 no-referrer。

关于 no-refferrer 的相关问题可以自行搜索,在这里就不一一解释,直接给出解决方案。

5.目前的解决方案

1>方案-:

按照网友的说法是,meta 是可以放在 <body> 里的吧。 所以把 <meta name="referrer" content="never"> 放到 archive-book.ejs 的最前面。 然后在网页结构里就会是这个样子:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
......
<head> </head>
<body class="main-center no-sidebar okayNav-loaded" ...>
  <header class="header" ...>
  <aside class="sidebar" ...>
  <main class="main" role="main">
    <meta name="referrer" content="never">
    <article class="article article-links article-type-list" ...>
......

在它之上的所有链接都会带来源信息,之后的就是 no-referrer 了。所以理论上也就规避了图片的防盗链了。 划重点,但是并没有如愿解决不蒜子的跨域问题。

2>方案二:终极解决方案

由于可以给 [<a>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a), [<area>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/area), [<img>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img), [<iframe>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe), 或者[<link>](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link)元素设置referrerpolicy属性。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<a href="http://example.com" referrerpolicy="no-referrer">

所以,可以为所有文章内的图片动态添加 referrerpolicy 属性,通过查看控制台找到图片 img 的类名

在文件夹中全局搜索类名,找到如下代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//为文章内的图片添加no-referrer来隐藏referer(解决第三方图片外链不显示问题)
$(this).attr("referrerPolicy", "no-referrer");

注意每个主题中的文章下的图片类名应该都不一致,所以类名需要根据实际情况,在控制台中查找文章中的图片类名,再去找相应的代码,为其动态添加 referrerPolicy 属性。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
跨站点访问图片资源403的解决方案
当你在A站点访问B站点的图片资源时遇到403错误,通常是因为B站点的服务器配置了防盗链机制,拒绝来自非授权站点的请求。403错误表示服务器理解请求但拒绝执行。
biaoblog.cn 个人博客
2025/05/21
770
【动效】:刮刮卡
A viewport represents a polygonal (normally rectangular) area in computer graphics that is currently being viewed. In web browser terms, it refers to the part of the document you're viewing which is currently visible in its window (or the screen, if the document is being viewed in full screen mode). Content outside the viewport is not visible onscreen until scrolled into view.
WEBJ2EE
2020/11/05
1.3K0
【动效】:刮刮卡
主流浏览器图片反防盗链方法总结
还记得之前写的那个无聊的插件,前一段时间由于豆瓣读书增加了防盗链策略使得我们无法直接引用他们的图片,使得我这个小插件无法工作。本以为是一个很简单的问题,但是没想到这个小问题硬是让我改了五六遍才改好,可以说是非常的蠢了。总结一下自己犯傻的原因,还是由于自己懒得去深入研究,谷歌百度了问题就直接把方案拿来用了,浅尝辄止人云亦云,解决了表面的问题而没有深入的总结。当然,从另外一个方面讲,我也是初步领会到了前端程序员面对要兼容各种浏览器的需求时头有多大了。
前端教程
2018/07/27
9440
主流浏览器图片反防盗链方法总结
【Web APIs】DOM 文档对象模型 ③ ( 根据类名获取 DOM 元素 - getElementsByClassName 函数 | 代码示例 )
根据类名获取 DOM 元素 , 需要 使用 HTML5 新增的方法 , Document.getElementsByClassName 函数获取 ;
韩曙亮
2024/06/21
2290
【Web APIs】DOM 文档对象模型 ③ ( 根据类名获取 DOM 元素 - getElementsByClassName 函数 | 代码示例 )
Hugo 网站优化(6): 博客图片不能显示, 全怪 Adblock。
原文链接: https://tangx.in/posts/2023/01/01/no-referrer-when-downgrade-image/
老麦
2023/02/25
7390
Hugo 网站优化(6): 博客图片不能显示, 全怪 Adblock。
【网络安全】前端程序员务必掌握的图片防盗链
在 http 协议请求中 header 里会带个 Referer 字段。通过图片服务器检查 Referer 是否来自规定的域名(白名单),而进行防盗链。 在浏览器中输入防盗链图片地址是能直接访问的。
andyhu
2022/12/14
8870
Element 和 Node的关系是个啥
说起这个话题要从一个面试题开始,前两天一个朋友发给我的(某团面试题),这个题简单的很,但是估计很多人不能自信的说出结果和原因。
zz_jesse
2020/03/17
8830
map&area标签实现图片热点区域点击
在购物网站 Landing page 页,往往会存在商品宣传信息,为提升首页加载速度,往往会使用一张图片来包含所有要展示商品(① 减少http请求个数;② 减少页面DOM数)。如何在一张商品海报上,实现点击某商品,跳转到该商品详情页面?
奋飛
2023/03/06
1.1K0
map&area标签实现图片热点区域点击
主流浏览器图片反防盗链方法总结
还记得之前写的那个无聊的插件,前一段时间由于豆瓣读书增加了防盗链策略使得我们无法直接引用他们的图片,使得我这个小插件无法工作。本以为是一个很简单的问题,但是没想到这个小问题硬是让我改了五六遍才改好,可以说是非常的蠢了。总结一下自己犯傻的原因,还是由于自己懒得去深入研究,谷歌百度了问题就直接把方案拿来用了,浅尝辄止人云亦云,解决了表面的问题而没有深入的总结。当然,从另外一个方面讲,我也是初步领会到了前端程序员面对要兼容各种浏览器的需求时头有多大了。
mythsman
2022/11/14
1.3K0
寒假提升 | Day2 HTML结构-body元素-额外知识补充
◼HTML5的文档声明比HTML 4.01、XHTML 1.0简洁非常多(了解即可)
Zkeq
2022/12/15
7010
寒假提升 | Day2 HTML结构-body元素-额外知识补充
Referrer Policy那些事
今天还是像往常一样看自己的博客。突然发现我的网站统计显示某文章访问次数有1W+,心里不由得惊喜一番。结果发现每篇文章都是1W+。访问次数统计用的是不蒜子提供的免费服务(https://busuanzi.ibruce.info/)。难道出问题了?不由得打开f12看了下,发现请求的referrer为https://huai.pub/而不是某文章的具体页面。
yumusb
2020/10/26
2.7K0
2.HTML根部头部主体标签元素介绍
描述: HTML html 元素表示一个 HTML 文档的根(顶级元素),所以它也被称为根元素,所有其他元素必须是此元素的后代。
全栈工程师修炼指南
2023/03/19
1.3K0
2.HTML根部头部主体标签元素介绍
【前端】:async、defer、onload、DOMContentLoaded
The HTML <script> element is used to embed or reference executable code; this is typically used to embed or refer to JavaScript code.
WEBJ2EE
2019/12/31
1.9K0
【前端】:async、defer、onload、DOMContentLoaded
【Web APIs】DOM 文档对象模型 ② ( 根据标签名获取 DOM 元素 - getElementsByTagName 函数 | 获取指定标签下的 DOM 元素 )
调用 Document.getElementsByTagName 函数 或 Element.getElementsByTagName 函数 , 可以获取 指定标签名称 的 若干 Element 对象集合 ;
韩曙亮
2024/06/19
2750
【Web APIs】DOM 文档对象模型 ② ( 根据标签名获取 DOM 元素 - getElementsByTagName 函数 | 获取指定标签下的 DOM 元素 )
【Web APIs】DOM 文档对象模型 ① ( DOM 相关概念 - DOM 文档、DOM 树、DOM 节点 | 根据元素 ID 获取 DOM 元素 - getElementById 函数 )
DOM , 全称 " Document Object Model " , 文档对象模型 , 是一个可处理 扩展标记语言 HTML 和 XML 的 接口 , 借助该接口 , 可以 动态的 访问 和 修改 文档的 内容、结构和样式 ;
韩曙亮
2024/06/18
4630
【Web APIs】DOM 文档对象模型 ① ( DOM 相关概念 - DOM 文档、DOM 树、DOM 节点 | 根据元素 ID 获取 DOM 元素 - getElementById 函数 )
百度统计失效,referrer背锅了
前段时间遇到一个问题,就是我的个人网站需要接入第三方百度统计,因为我的文章图片有来自第三方微信后台上传的文章,所以使用<meta name="referrer" content="no-referrer">解决图片访问403的问题,但是此时这个导致我百度统计失效了,于是去查询了一下referrer这个特性。
Maic
2022/12/21
1.5K0
百度统计失效,referrer背锅了
Hexo博客之butterfly主题优化更换背景
在任意位置创建一个css文件,例如background.css。(简单来说,就是创建一个txt文件,把名字改为background.css即可。注意扩展名)
Dreamy.TZK
2020/05/07
5.3K1
Hexo博客之butterfly主题优化更换背景
学习 HTTP Referer
HTTP 中 Referer 字段在工作中或许并不会吸引你的注意,隐藏在 Network 的请求之下,但是却有着非常重要的作用。平常你一定会遇到一些问题需要去排查,假如这个问题在你排查完全部代码后,依然没有解决,这个时候你会怎么办?此时我们就需要将排查问题的角度转换一下,切换到 HTTP 协议上。
每周聚焦
2022/08/10
1.8K0
python测试开发django-66.图片403forbidden
用 django 开发 web 页面,在 HTML 页面上添加图片时,发现本地图片可以正常显示,但是添加一个互联网的图片,却不能正常显示。
上海-悠悠
2019/11/14
6430
CSP | Electron 安全
大家好,今天和大家讨论的是 CSP ,即内容安全策略。相信很多朋友在渗透测试的过程中已经了解过 CSP 了
意大利的猫
2024/04/28
6670
CSP | Electron 安全
推荐阅读
相关推荐
跨站点访问图片资源403的解决方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验