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

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

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 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);