吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2945|回复: 20
收起左侧

[其他原创] 【油猴脚本】强制所有链接在新标签页打开

  [复制链接]
sosme2012 发表于 2025-2-6 18:32

强制所有链接在新标签页打开

✅ 点击链接后,只在新标签打开,原页面不会跳转
✅ 支持 油管、知乎、百度等动态加载网站
✅ 阻止事件冒泡,绕过 油管 的 JavaScript 处理
✅ 轻量高效,不会影响网站其他功能

// ==UserScript==
// @name         强制所有链接在新标签页打开
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  让所有链接都在新标签页打开,同时原页面不会变化
// @match        *://*/*
// @grant        none
// @license      MIT 
// ==/UserScript==

(function() {
    'use strict';

    function openInNewTab(event) {
        const link = event.target.closest('a');  // 找到点击的链接
        if (link && link.href && !link.hasAttribute('target')) {
            event.preventDefault();  // 阻止默认行为
            event.stopPropagation(); // 阻止事件冒泡,避免内部 JS 触发跳转
            setTimeout(() => {
                window.open(link.href, '_blank');  // 在新标签页打开链接
            }, 50); // 延迟执行,确保兼容
        }
    }

    function observeLinks() {
        document.addEventListener('click', openInNewTab, true);
    }

    observeLinks(); // 监听整个页面点击事件
})();

免费评分

参与人数 4吾爱币 +3 热心值 +3 收起 理由
Lingjohnny + 1 热心回复!
Bob5230 + 1 + 1 热心回复!
JDM139 + 1 我很赞同!
三岩雪 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

411161555 发表于 2025-2-6 20:45
你这个代码是AI写的吧?   我刚刚问了AI 写的跟你写的差不多,然后还有就是有个BUG

https://c.youdao.com/common-login-web/index.html?redirect_url=https%3A%2F%2Ffanyi.youdao.com%2Findex.html%23%2Fparaphraser   比如你发送个验证码,就直接弹窗了  然后还不发送。。。



[Asm] 纯文本查看 复制代码
// ==UserScript==
// [url=home.php?mod=space&uid=170990]@name[/url]         Force Links to Open in New Tab
// [url=home.php?mod=space&uid=467642]@namespace[/url]    http://tampermonkey.net/
// [url=home.php?mod=space&uid=1248337]@version[/url]      1.0
// @description  强制所有链接在新标签页打开,支持动态加载网站,同时阻止事件冒泡绕过特殊处理逻辑。
// [url=home.php?mod=space&uid=686208]@AuThor[/url]       YourName
// [url=home.php?mod=space&uid=195849]@match[/url]        *://*/*
// [url=home.php?mod=space&uid=609072]@grant[/url]        none
// ==/UserScript==

(function () {
    'use strict';

    // 处理单个链接的逻辑
    function processLink(link) {
        // 如果链接没有 target 属性或其 target 设置为其他值,将其改为 "_blank"。
        if (!link.target || link.target !== '_blank') {
            link.target = '_blank';
        }

        // 阻止事件默认行为和事件冒泡,用于绕过特定页面的 JavaScript 逻辑(如 YouTube)。
        link.addEventListener('click', function (event) {
            event.preventDefault();
            event.stopPropagation();
            window.open(link.href, '_blank');
        }, true);
    }

    // 初始加载时处理页面中已有的链接
    function processAllLinks() {
        const links = document.querySelectorAll('a[href]:not([target="_blank"])'); // 查找未设置 target="_blank" 的链接
        links.forEach(processLink);
    }

    // 动态监听 DOM 变化,处理动态加载的链接(如 YouTube、知乎等)
    const observer = new MutationObserver(() => processAllLinks());
    observer.observe(document.body, { childList: true, subtree: true });

    // 初始化执行
    processAllLinks();
})();
18586653016 发表于 2025-2-7 11:06
zdwycxm 发表于 2025-2-7 08:44
纯菜鸟弱弱的问一句:如何加入油猴?谢谢!

https://greasyfork.org/zh-CN/scripts/526075-%E6%96%B0%E6%A0%87%E7%AD%BE%E9%A1%B5%E6%89%93%E5%BC%80-youtube-twitter-facebook-%E7%9F%A5%E4%B9%8E-%E7%99%BE%E5%BA%A6%E7%AD%89%E5%8A%A8%E6%80%81%E5%8A%A0%E8%BD%BD%E7%BD%91%E7%AB%99一键直达
三岩雪 发表于 2025-2-6 20:59
试了,没有我吃瓜的时候,好像没有强制新标签
wjsmsra 发表于 2025-2-6 20:59
测试成功!
zhaoguosen 发表于 2025-2-6 21:02
感谢分享,试一下。
qq2003 发表于 2025-2-6 21:59
411161555 发表于 2025-2-6 20:45
你这个代码是AI写的吧?   我刚刚问了AI 写的跟你写的差不多,然后还有就是有个BUG

https://c.youdao.co ...

你问的是哪个Ai 啊?
archon1 发表于 2025-2-6 22:14
有些网页不行,比如weibo.com/u/ 的有些链接就没用。国外好多网站的网页也没用,只会在当前标签页打开,不会强制跳转到新标签页。
654812282 发表于 2025-2-6 22:28
只会在当前标签页打开,不会强制跳转到新标签页。
hanbazhen 发表于 2025-2-6 23:36
411161555 发表于 2025-2-6 20:45
你这个代码是AI写的吧?   我刚刚问了AI 写的跟你写的差不多,然后还有就是有个BUG

https://c.youdao.co ...

恰恰相反,骨骼搜索我反而不喜欢点下一页就打开新的标签页,占用显示,我在高级设置里设置了还是会打开新的标签页
hh7418695 发表于 2025-2-6 23:49
哇 正好需要。牛
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-12-12 11:58

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表