YouTube Ad Skip

Automatically skips YouTube ads by monitoring the DOM

// ==UserScript==
// @name         YouTube Ad Skip
// @description  Automatically skips YouTube ads by monitoring the DOM
// @author       drewkerr
// @license      MIT
// @match        https://www.youtube.com/*
// @version 0.0.1.20210430034621
// @namespace https://gf.qytechs.cn/users/766729
// ==/UserScript==
(function() {
  'use strict'

  // configure MutationObserver
  const target = document.querySelector('.video-ads')
  const config = { subtree: true, childList: true }

  // find a skip button and a child node and click it
  function skipAds(targetNode) {
    let skipButton = targetNode.querySelector('.ytp-ad-skip-button')
    if (skipButton) {
      skipButton.click()
      console.log('Ads skipped.')
    }
  }

  // call skipAds when the target node updates
  function callback(mutationsList) {
    for(const mutation of mutationsList) {
      for(const addedNode of mutation.addedNodes) {
        skipAds(addedNode)
      }
    }
  }

  // skip any ads loaded with the page
  skipAds(target)
  
  // add a DOM observer to watch for page changes
  const observer = new MutationObserver(callback)
  observer.observe(target, config)
})()

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址