Force Ctrl-click or Middle-click into a new tab to load it in the background
当前为
// ==UserScript==
// @name Force Ctrl-click or Middle-click into a new tab
// @description Force Ctrl-click or Middle-click into a new tab to load it in the background
// @include *
// @namespace 3xploiton3.scripts
// @author 3xploiton3
// @version 1.0.1
// @license MIT License
// @grant GM_openInTab
// @run-at document-start
// ==/UserScript==
var suppressing = false, clickedElement;
window.addEventListener('mousedown', function (e) {
clickedElement = e.target;
}, true);
window.addEventListener('mouseup', function (e) {
if (e.target !== clickedElement) return;
const link = e.target.closest('a');
if (!link ||
(link.getAttribute('href') || '').match(/^(javascript:|#|$)/) ||
link.href.replace(/#.*/, '') === location.href.replace(/#.*/, '')
) {
return;
}
// Middle click (button === 1) OR Ctrl + Left click
if (e.button === 1 || (e.button === 0 && e.ctrlKey)) {
GM_openInTab(link.href, {
active: false,
setParent: true,
insert: true,
});
suppressing = true;
setTimeout(() => {
window.dispatchEvent(new MouseEvent('mouseup', { bubbles: true }));
});
prevent(e);
}
// Left click without Ctrl – do nothing, allow default behavior (normal navigation)
}, true);
window.addEventListener('click', prevent, true);
window.addEventListener('auxclick', prevent, true);
function prevent(e) {
if (!suppressing) return;
e.preventDefault();
e.stopPropagation();
e.stopImmediatePropagation();
setTimeout(() => {
suppressing = false;
}, 100);
}
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址