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. // @name:ja-JP YouTube の Google 広告を非表示にする
  5. // @namespace vince.youtube
  6. // @version 2.4.4
  7. // @description hide youtube google ad,auto click "skip ad"
  8. // @description:zh-CN 隐藏youtube显示的google广告,自动点击"skip ad"
  9. // @description:ja-JP YouTubeに表示されるGoogle広告を非表示、自動で「広告をスキップ」をクリック
  10. // @author vince ding
  11. // @match https://*.youtube.com/*
  12. // @grant GM_xmlhttpRequest
  13. // @grant GM_info
  14. // @grant GM_getValue
  15. // @grant unsafeWindow
  16. // @run-at document-start
  17. // @connect googlevideo.com
  18. // @compatible firefox >=52
  19. // @compatible chrome >=55
  20. // ==/UserScript==
  21.  
  22. (function() {
  23. 'use strict';
  24. var closeAd=function (){
  25. var css = '.video-ads,.video-ads .ad-container .adDisplay,#player-ads,.ytp-ad-module,.ytp-ad-image-overlay{ display: none!important; }',
  26. head = document.head || document.getElementsByTagName('head')[0],
  27. style = document.createElement('style');
  28.  
  29. style.type = 'text/css';
  30. if (style.styleSheet){
  31. style.styleSheet.cssText = css;
  32. } else {
  33. style.appendChild(document.createTextNode(css));
  34. }
  35.  
  36. head.appendChild(style);
  37. };
  38. var skipInt;
  39. var log=function(msg){
  40. // unsafeWindow.console.log (msg);
  41. };
  42. var skipAd=function(){
  43. //ytp-ad-preview-text
  44. //ytp-ad-skip-button
  45. var skipbtn=document.querySelector(".ytp-ad-skip-button.ytp-button")||document.querySelector(".videoAdUiSkipButton ");
  46. //var skipbtn=document.querySelector(".ytp-ad-skip-button ")||document.querySelector(".videoAdUiSkipButton ");
  47. if(skipbtn){
  48. skipbtn=document.querySelector(".ytp-ad-skip-button.ytp-button")||document.querySelector(".videoAdUiSkipButton ");
  49. log("skip");
  50. skipbtn.click();
  51. if(skipInt) {clearTimeout(skipInt);}
  52. skipInt=setTimeout(skipAd,500);
  53. }else{
  54. log("checking...");
  55. if(skipInt) {clearTimeout(skipInt);}
  56. skipInt=setTimeout(skipAd,500);
  57. }
  58. };
  59.  
  60. closeAd();
  61. skipAd();
  62.  
  63. })();