Greasy Fork is available in English.
隐藏youtube显示的google广告,自动点击"skip ad"
当前为
// ==UserScript==
// @name Hide youtube google ad
// @name:zh-CN 隐藏youtube google广告
// @namespace vince.youtube
// @version 2.4.5
// @description hide youtube google ad,auto click "skip ad"
// @description:zh-CN 隐藏youtube显示的google广告,自动点击"skip ad"
// @author vince ding
// @match https://*.youtube.com/*
// @grant GM_xmlhttpRequest
// @grant GM_info
// @grant GM_getValue
// @grant unsafeWindow
// @run-at document-start
// @connect googlevideo.com
// ==/UserScript==
(function() {
'use strict';
var closeAd=function (){
var css = '.video-ads,.video-ads .ad-container .adDisplay,#player-ads,.ytp-ad-module,.ytp-ad-image-overlay,#panels"{ display: none!important; }',
head = document.head || document.getElementsByTagName('head')[0],
style = document.createElement('style');
style.type = 'text/css';
if (style.styleSheet){
style.styleSheet.cssText = css;
} else {
style.appendChild(document.createTextNode(css));
}
head.appendChild(style);
};
var skipInt;
var log=function(msg){
unsafeWindow.console.log (msg);
};
var skipAd=function(){
//ytp-ad-preview-text
//ytp-ad-skip-button
//ytp-skip-ad-button
//var skipbtn=document.querySelector(".ytp-ad-skip-button.ytp-button")||document.querySelector(".videoAdUiSkipButton ");
//ytp-skip-ad-button
//ytp-ad-component--clickabl
var skipbtn=document.querySelector("ytp-skip-ad-button")||document.querySelector("ytp-ad-component--clickabl")||document.querySelector(".ytp-ad-skip-button")||document.querySelector(".ytp-skip-ad button");
//log("["+new Date()+"]checking...");
if(skipbtn){
try{
skipbtn=document.querySelector("ytp-skip-ad-button")||document.querySelector("ytp-ad-component--clickabl")||document.querySelector(".ytp-ad-skip-button.ytp-button")||document.querySelector(".videoAdUiSkipButton ");
log("skip",skipbtn);
skipbtn.click();
//if(skipInt) {clearTimeout(skipInt);}
//skipInt=setTimeout(skipAd,500);
}catch(e){
//if(skipInt) {clearTimeout(skipInt);}
//skipInt=setTimeout(skipAd,500);
}
}
//else{
// if(skipInt) {clearTimeout(skipInt);}
//skipInt=setTimeout(skipAd,500);
//}
window.requestAnimationFrame(skipAd)
};
closeAd();
skipAd();
})();