默认自动执行,在新标签页打开链接,排除系统文件夹及特殊链接
当前为
// ==UserScript==
// @name 在新标签页打开链接(无开关按钮版)
// @namespace http://tampermonkey.net/
// @version 3.2
// @description 默认自动执行,在新标签页打开链接,排除系统文件夹及特殊链接
// @author 晚风知我意
// @match https://*/*
// @grant GM_registerMenuCommand
// @license MIT
// ==/UserScript==
(function() {
'use strict';
const isSystemFolderLink = (href) => {
if (/^file:\/\/\/[a-zA-Z]:\//.test(href)) return true;
if (/^file:\/\/\/(Users|home|etc|var|opt)\//.test(href)) return true;
if (/^file:\/\/\/\/[^\/]+\//.test(href)) return true;
return false;
};
const handleLinkClick = (event) => {
const link = event.target.closest('a');
if (!link || !link.href) return;
if (link.hasAttribute('download') ||
link.href.startsWith('javascript:') ||
link.href.startsWith('mailto:') ||
link.href.startsWith('tel:') ||
isSystemFolderLink(link.href)) {
return;
}
event.preventDefault();
event.stopPropagation();
window.open(link.href, '_blank');
};
GM_registerMenuCommand('当前已默认启用:链接新标签页打开', () => {
alert('脚本已默认启用,点击普通链接会自动在新标签页打开(已排除下载、邮件、本地文件等特殊链接)');
});
const init = () => {
document.addEventListener('click', handleLinkClick, true);
};
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', init);
} else {
init();
}
})();