交换左键和中键默认打开url的方式

点击超链接,左键新标签页打开.中键当前页面打开

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         交换左键和中键默认打开url的方式
// @namespace    http://tampermonkey.net/
// @version      2025-02-18
// @description  点击超链接,左键新标签页打开.中键当前页面打开
// @author       leftyzzk
// @match        *://*/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=mozilla.org
// @grant        none
// @license      MIT
// ==/UserScript==

document.addEventListener("mousedown", function(e) {
    let target = e.target.closest("a");
    if (!target) return;

    if (e.button === 0) { // 左键:新标签页打开
        e.preventDefault();
        window.open(target.href, "_blank");
    } else if (e.button === 1) { // 中键:当前页面打开
        e.preventDefault();
        window.location.href = target.href;
    }
}, true);

document.addEventListener("click", function(e) {
    let target = e.target.closest("a");
    if (!target) return;

    if (e.button === 0 || e.button === 1) {
        e.preventDefault(); // 彻底拦截 Firefox 默认行为
    }
}, true);

document.addEventListener("auxclick", function(e) {
    if (e.button === 1) {
        e.preventDefault(); // 防止中键触发新标签页
    }
}, true);