Greasy Fork is available in English.

Hide youtube google ad

hide youtube google ad,auto click "skip ad"

  1. // ==UserScript==
  2. // @name Hide youtube google ad
  3. // @name:zh-CN 隐藏youtube google广告
  4. // @namespace vince.youtube
  5. // @version 2.4.5
  6. // @description hide youtube google ad,auto click "skip ad"
  7. // @description:zh-CN 隐藏youtube显示的google广告,自动点击"skip ad"
  8. // @author vince ding
  9. // @match https://*.youtube.com/*
  10. // @grant GM_xmlhttpRequest
  11. // @grant GM_info
  12. // @grant GM_getValue
  13. // @grant unsafeWindow
  14. // @run-at document-start
  15. // @connect googlevideo.com
  16. // ==/UserScript==
  17.  
  18. (function() {
  19. 'use strict';
  20. var closeAd=function (){
  21. var css = '.video-ads,.video-ads .ad-container .adDisplay,#player-ads,.ytp-ad-module,.ytp-ad-image-overlay,#panels"{ display: none!important; }',
  22. head = document.head || document.getElementsByTagName('head')[0],
  23. style = document.createElement('style');
  24.  
  25. style.type = 'text/css';
  26. if (style.styleSheet){
  27. style.styleSheet.cssText = css;
  28. } else {
  29. style.appendChild(document.createTextNode(css));
  30. }
  31.  
  32. head.appendChild(style);
  33. };
  34. var skipInt;
  35. var log=function(msg){
  36. unsafeWindow.console.log (msg);
  37. };
  38. var skipAd=function(){
  39. //ytp-ad-preview-text
  40. //ytp-ad-skip-button
  41. //ytp-skip-ad-button
  42. //var skipbtn=document.querySelector(".ytp-ad-skip-button.ytp-button")||document.querySelector(".videoAdUiSkipButton ");
  43. //ytp-skip-ad-button
  44. //ytp-ad-component--clickabl
  45. 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");
  46. //log("["+new Date()+"]checking...");
  47. if(skipbtn){
  48. try{
  49. skipbtn=document.querySelector("ytp-skip-ad-button")||document.querySelector("ytp-ad-component--clickabl")||document.querySelector(".ytp-ad-skip-button.ytp-button")||document.querySelector(".videoAdUiSkipButton ");
  50. log("skip",skipbtn);
  51. skipbtn.click();
  52. //if(skipInt) {clearTimeout(skipInt);}
  53. //skipInt=setTimeout(skipAd,500);
  54. }catch(e){
  55. //if(skipInt) {clearTimeout(skipInt);}
  56. //skipInt=setTimeout(skipAd,500);
  57.  
  58. }
  59. }
  60. //else{
  61. // if(skipInt) {clearTimeout(skipInt);}
  62. //skipInt=setTimeout(skipAd,500);
  63. //}
  64. window.requestAnimationFrame(skipAd)
  65. };
  66.  
  67. closeAd();
  68. skipAd();
  69.  
  70. })();