您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Closes youtubes ads automatically after a small pause
当前为
// ==UserScript== // @name Auto Close YouTube Ads // @namespace http://fuzetsu.acypa.com // @version 1.0.1 // @description Closes youtubes ads automatically after a small pause // @author fuzetsu // @match https://www.youtube.com/* // @grant none // @require https://gf.qytechs.cn/scripts/5679-wait-for-elements/code/Wait%20For%20Elements.js // @noframes // ==/UserScript== var SCRIPT_NAME = 'Auto Close YouTube Ads'; var SEC_WAIT = 3; var ticks = []; function log() { var args = [].slice.call(arguments); args.unshift('%cAuto Close Youtube Popup Ads:', 'font-weight: bold'); console.log.apply(console, args); } function clearTicks(ticks) { ticks.forEach(function(tick) { clearInterval(tick); }); } function keepTrying(wait, action) { var tick = setInterval(function() { if(action()) { clearInterval(tick); } }, wait); } function waitAndClick(sel, cb, extraWait) { return waitForElems(sel, function(btn) { log('Found ad, closing in', SEC_WAIT, 'seconds'); setTimeout(function() { btn.click(); if(cb) { cb(btn); } }, SEC_WAIT * 1000 + (extraWait || 0)); }); } log('Started'); waitForUrl(/^https:\/\/www.youtube.com\/watch\?v=.+/, function() { clearTicks(ticks); log('Entered video, watching for ads'); ticks.push( waitAndClick('.videoAdUiSkipButton', function(btn) { keepTrying(1000, function() { btn.click(); if(!document.querySelector('.videoAdUiSkipButton')) { return true; } }); }), waitAndClick('div.close-button', function(btn) { document.querySelector('div.recall-button').remove(); }) ); });
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址