广州制作网站公司简介无货源网店怎么开
2026/6/20 2:53:45 网站建设 项目流程
广州制作网站公司简介,无货源网店怎么开,做网站推广对电脑有什么要求,网页制作网站首页设计前言 平时在逛掘金和少数派等网站的时候#xff0c;经常有跳转外链的场景#xff0c;此时基本都会被中转到一个官方提供的提示页面。 掘金#xff1a; 知乎#xff1a; 少数派#xff1a; 这种官方脱裤子放屁的行为实在令人恼火。是、是、是、我当然知道这么做有很多…前言平时在逛掘金和少数派等网站的时候经常有跳转外链的场景此时基本都会被中转到一个官方提供的提示页面。掘金知乎少数派这种官方脱裤子放屁的行为实在令人恼火。是、是、是、我当然知道这么做有很多冠冕堂皇的理由比如防止钓鱼攻击增强用户意识品牌保护遵守法律法规控制流量去向以上5点是 AI 告诉我的理由但是作为混迹多年的互联网用户什么链接可以点什么最好不要点(悄悄的点) 我还是具备判断能力的。互联网的本质就是自由穿梭一个 A 标签就可以让你在整个互联网翱翔现在你每次起飞的时候都被摁住强迫你阅读一次免责声明多少是有点恼火的。解决方案这些中转站的实现逻辑基本都是将目标地址挂在中转地址的target参数后面在中转站做免责声明然后点击继续跳转才跳到目标网站。掘金:https://link.juejin.cn/?targethttps%3A%2F%2Fdeveloper.apple.com%2Fcn%2Fdesign%2Fhuman-interface-guidelines%2Fapp-icons%23macOS/少数派https://sspai.com/link?targethttps%3A%2F%2Fgeoguess.games%2F知乎https://link.zhihu.com/?targethttps%3A//asciidoctor.org/所以我们就可以写一个浏览器插件在这些网站中找出命中外链的 A 标签替换掉它的href属性(只保留 target 后面的真实目标地址)。核心函数js体验AI代码助手代码解读复制代码function findByTarget() { if (!hostnames.includes(location.hostname)) return; const linkKeyword ?target; const aLinks document.querySelectorAll( a[href*${linkKeyword}]:not([data-redirect-skipper]) ); if (!aLinks) return; aLinks.forEach((a) { const href a.href; const targetIndex href.indexOf(linkKeyword); if (targetIndex ! -1) { const newHref href.substring(targetIndex linkKeyword.length); a.href decodeURIComponent(newHref); a.setAttribute(data-redirect-skipper, true); } }); }为此我创建了一个项目仓库 redirect-skipper 并且将该浏览器插件发布在谷歌商店了 安装地址 。安装并启用这个浏览器插件之后在这些网站中点击外链就不会看到中转页面了而是直接跳转到目标网站。因为我目前明确需要修改的就是这几个网站如果大家愿意使用这个插件且有其他网站需要添加到替换列表的可以给 redirect-skipper 仓库 提PR。如果需要添加的网站的转换规则是和findByTarget一致的那么仅需更新sites.json文件即可。如果需要添加的网站的转换规则是独立的那么需要更新插件代码合并之后由我向谷歌商店发起更新。为了后期可以灵活更新配置谷歌商店审核太慢了,我默认将插件应用于所有网站然后在代码里通过 hostname 来判断是否真的需要执行。json体验AI代码助手代码解读复制代码{ $schema: https://json.schemastore.org/chrome-manifest.json, name: redirect-skipper, manifest_version: 3, content_scripts: [ { matches: [all_urls], js: [./scripts/redirect-skipper.js], run_at: document_end } ], }在当前仓库里维护一份sites.json的配置表格式如下json体验AI代码助手代码解读复制代码{ description: 远程配置可以开启 Redirect-Skipper 插件的网站 因为谷歌商店审核太慢了否则无需通过远程配置增加复杂性, sites: [ { hostname: juejin.cn, title: 掘金 }, { hostname: sspai.com, title: 少数派 }, { hostname: www.zhihu.com, title: 知乎 } ] }这样插件在拉取到这份数据的时候就可以根据这边描述的网站配置决定是否执行具体代码。插件完整代码js体验AI代码助手代码解读复制代码function replaceALinks() { findByTarget(); } function observerDocument() { const mb new MutationObserver((mutationsList) { for (const mutation of mutationsList) { if (mutation.type childList) { if (mutation.addedNodes.length) { replaceALinks(); } } } }); mb.observe(document, { childList: true, subtree: true }); } // 监听路由等事件 [hashchange, popstate, load].forEach((event) { window.addEventListener(event, async () { replaceALinks(); if (event load) { observerDocument(); await updateHostnames(); replaceALinks(); // 更新完数据后再执行一次 } }); }); let hostnames [juejin.cn, sspai.com, www.zhihu.com]; function updateHostnames() { return fetch( https://raw.githubusercontent.com/dogodo-cc/redirect-skipper/master/sites.json ) .then((response) { if (response.ok) { return response.json(); } throw new Error(Network response was not ok); }) .then((data) { // 如果拉到了远程数据就用远程的 hostnames data.sites.map((site) { return site.hostname; }); }) .catch((error) { console.error(error); }); } // 符合 ?target 格式的链接 // https://link.juejin.cn/?targethttps%3A%2F%2Fdeveloper.apple.com%2Fcn%2Fdesign%2Fhuman-interface-guidelines%2Fapp-icons%23macOS/ // https://sspai.com/link?targethttps%3A%2F%2Fgeoguess.games%2F // https://link.zhihu.com/?targethttps%3A//asciidoctor.org/ function findByTarget() { if (!hostnames.includes(location.hostname)) return; const linkKeyword ?target; const aLinks document.querySelectorAll( a[href*${linkKeyword}]:not([data-redirect-skipper]) ); if (!aLinks) return; aLinks.forEach((a) { const href a.href; const targetIndex href.indexOf(linkKeyword); if (targetIndex ! -1) { const newHref href.substring(targetIndex linkKeyword.length); a.href decodeURIComponent(newHref); a.setAttribute(data-redirect-skipper, true); } }); }作者甜甜的泥土链接https://juejin.cn/post/7495977411273490447来源稀土掘金著作权归作者所有。商业转载请联系作者获得授权非商业转载请注明出处。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询