🚀你是否曾被论坛里那些恼人的外部链接搞得不胜其烦?💎

  • 点个链接,当前页面就直接跳转了,好不容易找到的帖子瞬间没了?
  • 签名区、个人页的推广链接偷偷摸摸地把你带跑,还得手动返回?
  • 每次点个外部链接都得经过那个“好麻烦!好麻烦!好麻烦!”的拦截提示页,然后才能手动点击“立即跳转”?

是时候终结这些烦恼了! 我为大家带来了精心打磨的 Nodeseek 链接优化脚本,它将彻底革新你的浏览体验!


💥 这脚本,专治论坛“链接病”!

核心理念就是:让外部链接的跳转体验彻底由你掌控,并智能过滤推广内容!


✨ 极致功能,让你用了就回不去:

  1. 🚀 全站智能拦截,强制新标签页提示!

    • 终结跳页噩梦! 无论是帖子内容区、签名区,还是个人信息页,全站所有含推广敏感词(如 aff, reg, ad, promo)的外部链接,都会被脚本智能识别并统一拦截
    • 拦截后,它们不再直接跳转,而是强制在新标签页打开 Nodeseek 官方的 /jump?to= 中转提示页!告别当前页面被突然劫持的尴尬,让浏览始终顺畅。
  2. ⚡️ 纯净外部链接,一键新标签页直达!

    • 告别繁琐点击! 那些不含敏感词的纯净外部链接(比如 GitHub 链接、技术博客等),再也不用每次都经过那个多余的拦截页了!
    • 本脚本自动识别,并直接在新标签页中打开访问!就像你说的:“爽死了!爽死了!爽死了!” 省去重复确认的步骤,直达目标,极致便捷。
  3. 🚫 帖子标题链接,彻底变文本!

    • 帖子标题那个“可有可无”的链接,终于可以彻底消失了!它将被转换为纯文本,杜绝一切误触,页面更加干净。

🤔 为什么它是你的 Nodeseek 必备神器?

  • 体验升级: 告别烦人的跳转,每次点击都胸有成竹。
  • 隐私安全: 一定程度上减少直接访问未知推广链接的风险。
  • 效率倍增: 纯净链接直达,省去重复操作。
  • 全站覆盖: 无论论坛哪个角落的链接,都能为你服务。

📥 立即体验:

  1. 确保你的浏览器已安装 Tampermonkey (油猴脚本) 扩展。

  2. 安装本脚本:
    ➡️ 油猴扩展图标->添加新脚本->输入代码->文件->保存 ⬅️

// ==UserScript==// @name         Nodeseek 链接革命 - 告别烦恼,体验丝滑全站浏览// @namespace    http://tampermonkey.net/// @version      1.0 // 版本号// @description  将包含推广关键词的外部链接重定向至Nodeseek中转页,所有外部链接在新标签页打开,同时保留原有标题链接转换功能。// @author       NodeSeeks// @match        *://www.nodeseek.com/*// @grant        none// ==/UserScript==(function() {    'use strict';    // 定义您要过滤的推广关键词数组    const keywordFilters = ['aff', 'reg', 'ad', 'promo']; // 您可以根据需要添加更多关键词    // 获取当前页面的域名,用于判断是否是外部链接    const currentHostname = window.location.hostname;    /**     * 处理外部链接:     * 1. 将包含推广关键词的外部链接重定向至 Nodeseek 的 /jump?to= 中转页。     * 2. 确保所有非 Nodeseek 域名的链接都在新标签页打开。     * @param {HTMLAnchorElement} link 要处理的超链接元素。     */    function processExternalLinkBehavior(link) {        const originalHref = link.href;        // 确保链接有 href 属性        if (!originalHref) {            return;        }        // --- 1. 判断是否是 Nodeseek 内部链接 ---        const isNodeseekInternalLink = (link.hostname === currentHostname);        // --- 2. 如果是外部链接,强制在新标签页打开 ---        if (!isNodeseekInternalLink) {            link.setAttribute('target', '_blank');        }        // --- 3. 处理已是 /jump?to= 且包含敏感词的链接 (不再重复处理) ---        // 这种链接已经是我们期望的推广中转页了,不再对其做额外处理        if (originalHref.includes('/jump?to=')) {            try {                const jumpToMatch = originalHref.match(/jump\?to=(.+)/);                if (jumpToMatch && jumpToMatch[1]) {                    const decodedJumpUrl = decodeURIComponent(jumpToMatch[1]).toLowerCase();                    for (const keyword of keywordFilters) {                        if (decodedJumpUrl.includes(keyword)) {                            // console.log('Skipping existing jump+aff link:', originalHref); // 调试用                            return; // 跳过不处理                        }                    }                }            } catch (e) {                console.error('Nodeseek: Error decoding jump URL for exclusion:', originalHref, e);            }        }        // --- 4. 检查是否是需要重定向的外部推广链接 ---        // 只有非 Nodeseek 域名的链接才进行敏感词判断,或者那些虽然是 /jump?to= 但目标不含敏感词的链接        if (!isNodeseekInternalLink || originalHref.includes('/jump?to=')) {            const lowerHref = originalHref.toLowerCase();            const lowerText = link.textContent.toLowerCase();            let containsSensitiveKeyword = false;            for (const keyword of keywordFilters) {                if (lowerHref.includes(keyword) || lowerText.includes(keyword)) {                    containsSensitiveKeyword = true;                    break;                }            }            if (containsSensitiveKeyword) {                let targetUrl = originalHref;                // 如果原始链接就是 /jump?to= 形式,获取它真正的目标 URL来重定向                if (originalHref.includes('/jump?to=')) {                    const jumpToMatch = originalHref.match(/jump\?to=(.+)/);                    if (jumpToMatch && jumpToMatch[1]) {                        targetUrl = decodeURIComponent(jumpToMatch[1]);                    }                }                // 构造新的 /jump?to= 链接                const newJumpUrl = `/jump?to=${encodeURIComponent(targetUrl)}`;                // 替换链接的 href                link.href = newJumpUrl;                // console.log(`重定向外部推广链接: ${originalHref} -> ${newJumpUrl}`); // 调试用            }        }    }    /**     * 将 h1 标题内的特定超链接转换为纯文本。     * @param {Element|Document} container 要处理的容器元素或整个文档。     */    function processTitleLinks(container) {        const titleLinks = container.querySelectorAll('h1 a.post-title-link');        titleLinks.forEach(link => {            if (link.parentNode && link.parentNode.tagName === 'H1') {                const span = document.createElement('span');                span.textContent = link.textContent;                link.replaceWith(span);                // console.log('Optimized title link:', span.textContent); // 调试用            }        });    }    /**     * 统一的处理函数,遍历容器内的所有相关元素。     * @param {Element|Document} container 要处理的容器元素。     */    function processAllLinksInContainer(container) {        if (!container || !container.querySelectorAll) return;        // 获取容器内的所有 a 标签        const allLinksInContainer = container.querySelectorAll('a');        allLinksInContainer.forEach(link => {            processExternalLinkBehavior(link); // 处理外部链接行为和推广重定向        });        processTitleLinks(container); // 处理标题链接(保持不变)    }    /**     * 初始化脚本,设置 MutationObserver 并处理初始页面链接。     */    function applyNodeseekOptimizations() {        // --- 1. 设置 MutationObserver 监控 DOM 变化 ---        const observer = new MutationObserver((mutations) => {            mutations.forEach((mutation) => {                if (mutation.addedNodes.length > 0) {                    mutation.addedNodes.forEach((node) => {                        if (node.nodeType === 1) {                            processAllLinksInContainer(node);                        }                    });                }            });        });        // --- 2. 首次加载时和延迟处理页面中的所有现有链接 ---        processAllLinksInContainer(document);        setTimeout(() => {            processAllLinksInContainer(document);        }, 500); // 延迟 500 毫秒        // --- 3. 开始观察整个 document.body 元素 ---        observer.observe(document.body, { childList: true, subtree: true });        // console.log('Nodeseek Optimizations: MutationObserver started on document.body.'); // 调试用    }    // 脚本初始化:确保在 Nodeseek 域名下执行优化    document.addEventListener('DOMContentLoaded', () => {        if (currentHostname === 'www.nodeseek.com') {            applyNodeseekOptimizations();            // console.log('Nodeseek Optimizations: Script initialized.'); // 调试用        }    });    // 额外:监听 'load' 事件,在所有资源加载完成后再处理一次    window.addEventListener('load', () => {        if (currentHostname === 'www.nodeseek.com') {            processAllLinksInContainer(document);            // console.log('Nodeseek Optimizations: Full page load processing.'); // 调试用        }    });})();
  1. 安装完成后,刷新 Nodeseek 页面,即可感受前所未有的畅快浏览!

还在等什么?赶紧给你的 Nodeseek 体验来一次全面升级吧!

如果你在使用过程中有任何问题或建议,欢迎随时在本帖下反馈!