让所有网页的链接都在新标签页中打开
// ==UserScript==
// @name 所有链接都使用新标签页打开
// @namespace http://tampermonkey.net/
// @version 1.0
// @description 让所有网页的链接都在新标签页中打开
// @author Your name
// @match *://*/*
// @grant non
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// 主函数:处理所有链接
function handleLinks() {
// 获取页面上所有的链接
const links = document.getElementsByTagName('a');
// 遍历所有链接
for (let i = 0; i < links.length; i++) {
// 跳过空链接和javascript:void(0)类型的链接
if (links[i].href && !links[i].href.startsWith('javascript:')) {
links[i].setAttribute('target', '_blank');
// 添加rel属性以提高安全性
links[i].setAttribute('rel', 'noopener noreferrer');
}
}
}
// 初始执行一次
handleLinks();
// 创建观察器监听DOM变化
const observer = new MutationObserver(function(mutations) {
handleLinks();
});
// 配置观察器
const config = {
childList: true,
subtree: true
};
// 开始观察document.body的变化
observer.observe(document.body, config);
})();