Google Ad Skipper

A simple script to skip Google ads

// ==UserScript==
// @name        Google Ad Skipper
// @namespace   bing
// @version     0.1
// @description A simple script to skip Google ads
// @author      Bing
// @match       https://www.google.com/*
// @grant       none
// ==/UserScript==

(function() {
  'use strict';
  // 定义一个函数,用来隐藏一个元素
  function hideElement(element) {
    if (element) {
      element.style.display = 'none';
    }
  }
  // 定义一个函数,用来隐藏一个元素的所有子元素
  function hideChildren(element) {
    if (element) {
      var children = element.children;
      for (var i = 0; i < children.length; i++) {
        hideElement(children[i]);
      }
    }
  }
  // 定义一个函数,用来隐藏Google搜索结果页面上的所有广告元素
  function hideSearchAds() {
    // 获取搜索结果的容器元素
    var container = document.getElementById('main');
    if (container) {
      // 获取搜索结果的所有子元素
      var results = container.children;
      for (var i = 0; i < results.length; i++) {
        // 获取每个搜索结果的类名
        var className = results[i].className;
        // 如果类名包含"ads"或"pla",则表示是广告元素,隐藏之
        if (className.includes('ads') || className.includes('pla')) {
          hideElement(results[i]);
        }
      }
    }
  }
  // 定义一个函数,用来隐藏Google视频页面上的所有广告视频
  function hideVideoAds() {
    // 获取视频播放器的元素
    var player = document.getElementById('movie_player');
    if (player) {
      // 获取视频播放器的所有子元素
      var children = player.children;
      for (var i = 0; i < children.length; i++) {
        // 获取每个子元素的类名
        var className = children[i].className;
        // 如果类名包含"ad"或"ytp",则表示是广告视频,隐藏之
        if (className.includes('ad') || className.includes('ytp')) {
          hideElement(children[i]);
        }
      }
    }
  }
  // 定义一个函数,用来判断当前页面是搜索结果页面还是视频页面
  function isSearchPage() {
    // 获取当前页面的URL
    var url = window.location.href;
    // 如果URL包含"search"或"q=",则表示是搜索结果页面,返回true
    if (url.includes('search') || url.includes('q=')) {
      return true;
    }
    // 否则,返回false
    return false;
  }
  // 定义一个函数,用来执行脚本的主要逻辑
  function main() {
    // 判断当前页面是搜索结果页面还是视频页面
    if (isSearchPage()) {
      // 如果是搜索结果页面,隐藏搜索结果页面上的所有广告元素
      hideSearchAds();
    } else {
      // 如果是视频页面,隐藏视频页面上的所有广告视频
      hideVideoAds();
    }
  }
  // 在页面加载完成后,执行脚本的主要逻辑
  window.addEventListener('load', main);
})();