Hide youtube google ad

hide youtube google ad,auto click "skip ad"

目前為 2023-03-11 提交的版本,檢視 最新版本

  1. // ==UserScript==
  2. // @name Hide youtube google ad
  3. // @name:zh-CN 隐藏youtube google广告
  4. // @namespace vince.youtube
  5. // @version 2.4.3
  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_setValue
  13. // @grant GM_getValue
  14. // @grant unsafeWindow
  15. // @run-at document-start
  16. // @connect googlevideo.com
  17. // @compatible chrome >=55
  18. // ==/UserScript==
  19.  
  20. (function() {
  21. 'use strict';
  22. var closeAd=function (){
  23. var css = '.video-ads,.video-ads .ad-container .adDisplay,#player-ads,.ytp-ad-module,.ytp-ad-image-overlay{ display: none!important; }',
  24. head = document.head || document.getElementsByTagName('head')[0],
  25. style = document.createElement('style');
  26.  
  27. style.type = 'text/css';
  28. if (style.styleSheet){
  29. style.styleSheet.cssText = css;
  30. } else {
  31. style.appendChild(document.createTextNode(css));
  32. }
  33.  
  34. head.appendChild(style);
  35. };
  36. var skipInt;
  37. var log=function(msg){
  38. // unsafeWindow.console.log (msg);
  39. };
  40. var skipAd=function(){
  41. //ytp-ad-preview-text
  42. //ytp-ad-skip-button
  43. var skipbtn=document.querySelector(".ytp-ad-skip-button.ytp-button")||document.querySelector(".videoAdUiSkipButton ");
  44. //var skipbtn=document.querySelector(".ytp-ad-skip-button ")||document.querySelector(".videoAdUiSkipButton ");
  45. if(skipbtn){
  46. skipbtn=document.querySelector(".ytp-ad-skip-button.ytp-button")||document.querySelector(".videoAdUiSkipButton ");
  47. log("skip");
  48. skipbtn.click();
  49. if(skipInt) {clearTimeout(skipInt);}
  50. skipInt=setTimeout(skipAd,500);
  51. }else{
  52. log("checking...");
  53. if(skipInt) {clearTimeout(skipInt);}
  54. skipInt=setTimeout(skipAd,500);
  55. }
  56. };
  57.  
  58. closeAd();
  59. skipAd();
  60.  
  61. })();