当页开链

2025/4/8 14:51:16

目前为 2025-04-08 提交的版本。查看 最新版本

// ==UserScript==
// @name        当页开链
// @namespace   Violentmonkey Scripts
// @match       *://*/*
// @exclude-match    *://www.gamer520.com/*
// @grant       none
// @version     5.0
// @author      -
// @description 2025/4/8 14:51:16
// ==/UserScript==

(() => {

const shouldExcludeElement = (target) => {
    const EXCLUDE_SELECTORS = [
      'javascript:',
      '.nav-content',
      '.views',
      '.presentation',
      '.pay-box',
      '[role="group"]',
      '#ks',
      '.bpx-player-ending-related-item-cover',
      '#qs_searchBox',
      '.actions',
      '.swiper-wrapper',
      '#sb_form',
      '.channel-info'
    ];
    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);

})();

QingJ © 2025

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