起因
平时逛一些博客的时候,经常遇到文章中添加了一些外链的情况,当你点击的时候,却发现这个链接在跳转前会先跳转到一个安全提示的页面,这个安全提示页面在掘金、简书、知乎、csdn等平台上都存在。这样害得我每次都要多点一次。终于在某个下午我想起了鲁迅曾经说过的话—忍不了就安排
。
于是开发了一个可以绕过这个跳转逻辑的浏览器插件,代码就10行,没有技术含量,主要是解气!
核心实现
function doIt () {
// https://link.jianshu.com?t=xxxxxx 简书
// https://link.juejin.cn/?target=xxxxx 掘金
// https://link.zhihu.com/?target=xxxxx 知乎
const links = document.querySelectorAll('a')
const reg = /(?:cn\/\?target|com?\/\?t|com\/\?target)=(.*)/
let count = 0;
links.forEach(link => {
const match = reg.exec(link.href)
if(match && match[1]) {
link.href = decodeURIComponent(match[1])
count++
}
})
// csdn是通过添加事件来改写link跳转逻辑的,因此需要移除事件才行
const csdnHack = document.querySelector('#content_views')
if(csdnHack) {
// 克隆节点并替换自身
csdnHack.replaceWith(csdnHack.cloneNode(true));
count += csdnHack.querySelectorAll('a').length
}
console.log(`本页面共 ${count} 个外链现在可以直接跳转了 --forceJump插件`)
}
doIt()
安装好后,妈妈再也不用担心我的学习了~
- 插件安装方法见
https://github.com/Polaris-tl/chorme-plugin-forceJump
- 原本打算把插件上传谷歌扩展程序商店的,奈何需要5美元的注册费用,而且需要海外支付,我的内心如下⬇️