// ==UserScript== // @name 当页开链 // @namespace - // @match *://*/* // @exclude-match *://www.gamer520.com/* // @exclude-match *://bray.tech/* // @grant none // @version 5.0 // @author - // @description 当前页面打开链接 // @downloadURL none // ==/UserScript== (() => { const shouldExcludeElement = (target) => { const EXCLUDE_SELECTORS = [ '[href^="javascript"]', '#ks', // '.bpx-player-ending-content',//bilibili '#sb_form',//bing '.swiper-wrapper',//baidubaike '.win-wapper'//kook ]; return EXCLUDE_SELECTORS.some(selector => target.closest(selector)); }; // document.addEventListener('click', function(event) { // 使用Event.composedPath()获取精确目标(2025推荐) const preciseTarget = event.composedPath()[0]; if (shouldExcludeElement(preciseTarget)) return true; // 动态节点溯源(兼容Shadow DOM) let node = preciseTarget; while (node && node.tagName !== 'A') { node = node.parentElement || node.host; // 处理Web Components场景 } // 增强型链接处理 if (node?.tagName === 'A') { // 最新安全策略(2025-04) event.stopImmediatePropagation(); // 防止其他监听器干扰 event.preventDefault(); // 异步跳转避免阻塞(2025性能优化方案) requestAnimationFrame(() => { window.location.assign(node.href); // 替代直接href赋值 }); } }, true); // window.open = u => (location = u); })();