让外域 a 标签默认打开新标签页
Doveccl
本文距离上次更新已过去 0 天,部分内容可能已经过时,请注意甄别。

写 Markdown 经常性需要带上链接

一般情况下 [description](url) 会默认解析为 <a href="url">description</a>

然而大多数情况我是不希望这个链接在原标签页中打开的,所以之前遇到这种情况都是手写 target="_blank"

那么问题来了,如果直接这样写岂不是丢掉了 Markdown 本身的简洁性?

于是乎,我 yy 出了一个 js 脚本在 window.onload 之后强行把所有外域 a 标签加上了 target="_blank"

大概代码如下:

1
2
3
4
5
6
7
8
9
window.addEventListener('load', function() {
var as = document.querySelectorAll('a');
[].forEach.call(as, function(a) {
var d = a.href.replace(/\w*:\/\/([^/]+)(\/.*)*/, '$1');
if (d !== document.domain) {
a.target = '_blank';
}
})
})

借助 Typecho 一点也不方便的插件,最终效果还是不错的

 评论
评论插件加载失败
正在加载评论插件
由 Hexo 驱动 & 主题 Keep
总字数 24.2k 访客数 访问量