当页开链

当前页面打开链接

// ==UserScript==
// @name        当页开链
// @namespace   -
// @match       *://*/*
// @exclude-match    *://www.gamer520.com/*
// @exclude-match    *://bray.tech/*
// @grant       none
// @version     5.2
// @author      -
// @description 当前页面打开链接
// ==/UserScript==

(() => {

const shouldExcludeElement = (target) => {
    const EXCLUDE_SELECTORS = [
      '[href^="javascript"]',
      '#ks',
      //
      '.bpx-player-ending-content','.carousel-wrap',//bilibili
      '#sb_form',//bing
      '.swiper-wrapper',//baidubaike
      '.win-wapper',//kook
      '[class="hidden xl:flex space-x-4 items-center"]','[class="flex items-start justify-between"]'
    ];
    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);

  //

new MutationObserver(_=>document.querySelectorAll('form').forEach(f=>f.target='_self')).observe(document,{childList:1,subtree:1});

})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址