您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
在每次页面加载或导航后,延迟移除YouTube Premium弹窗。
// ==UserScript== // @name YouTube Premium 弹窗移除 (SPA优化) // @namespace http://tampermonkey.net/ // @version 1.8 // @description 在每次页面加载或导航后,延迟移除YouTube Premium弹窗。 // @author [email protected] // @match *://*.youtube.com/* // @grant none // @run-at document-idle // @license MIT // ==/UserScript== (function() { 'use strict'; // 定义页面加载完成多久后执行 const wait_times = 0.1; // 清除弹窗的函数 function removePopup() { const popup = document.querySelector('tp-yt-paper-dialog.style-scope.ytd-popup-container'); const backdrop = document.querySelector('ytd-popup-container'); if (popup) { popup.remove(); console.log('YouTube Premium弹窗已成功移除。'); } if (backdrop) { backdrop.remove(); console.log('弹窗背景遮罩已移除。'); } } // 启动移除逻辑的函数,带延迟 let removalTimeout; function startRemovalLogic() { // 先清除之前的定时器,防止重复执行 clearTimeout(removalTimeout); console.log(`页面已加载完成,等待 ${wait_times} 秒后执行脚本...`); removalTimeout = setTimeout(() => { removePopup(); // 使用MutationObserver作为备用方案,捕获在延迟后出现的弹窗。 const observer = new MutationObserver(() => { removePopup(); }); const config = { childList: true, subtree: true }; observer.observe(document.body, config); }, wait_times * 1000); } // 监听 URL 变化,重新执行逻辑 let lastUrl = location.href; new MutationObserver(() => { const url = location.href; if (url !== lastUrl) { lastUrl = url; startRemovalLogic(); } }).observe(document, {subtree: true, childList: true}); // 页面首次加载时执行 window.addEventListener('load', startRemovalLogic); })();