AdDodge

autoskips ads instantly

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name        AdDodge
// @namespace   https://greasyfork.org/en/users/945115-unmatchedbracket
// @match       *://www.youtube.com/*
// @grant       none
// @version     1.2
// @run-at      document-body
// @author      Unmatched Bracket
// @description autoskips ads instantly
// @license     The Unlicense
// ==/UserScript==
// ytp-ad-skip-button-modern ytp-button
let action_cooldown = 0

function adskip () {
  if (action_cooldown) {
    action_cooldown--
    return
  }
  action_cooldown = 3
  if (document.getElementsByClassName("ytp-ad-skip-button-modern").length) {
    document.getElementsByClassName("ytp-ad-skip-button-modern")[0].click()
  } else if (document.getElementsByClassName("ytp-ad-skip-button").length) {
    document.getElementsByClassName("ytp-ad-skip-button")[0].click()
  } else if (document.getElementsByClassName("ad-interrupting").length) {
    document.getElementsByClassName("html5-main-video")[0].currentTime = 99999
  } else {
    action_cooldown = 0
  }
}

function tick () {
  requestAnimationFrame(tick)
  adskip()
}

requestAnimationFrame(tick)