YoutubeWhy

Clicks the dumb age verification button

目前為 2020-08-25 提交的版本,檢視 最新版本

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         YoutubeWhy
// @namespace    sc
// @include      https://www.youtube.com/w*
// @version      14
// @description  Clicks the dumb age verification button
// @author Wepwawet
// @grant        none
// ==/UserScript==
var ran = "";
var runtime = 0;

function code() {
    if (ran == document.URL) return;
    if (document.URL.endsWith('has_verified=1')) return;

    if (runtime > 2) return; // this is youtube trying to prevent us from automating the process of clicking the button, in this case there is no point to continue running, the page will simply never load
    // this and the setTimeout is responsible for correcting when they do this, which is why the page loads another video as they attempt to make us skip whatever we want to watch, but then the page goes back to the proper
    // video with has_verified being added to the title


    var r18 = document.querySelector('paper-button.yt-button-renderer');

    if (r18 && r18.innerText == 'I UNDERSTAND AND WISH TO PROCEED') {
        console.log(r18.innerText);
        r18.click();
        ran = document.URL; // prevents running more than once
        runtime = 0;
        return;
    } else {
        runtime += 1;
        setTimeout(function() {

            code();
            return;

        }, 2000);
    }

}

window.onload = code;
window.addEventListener('yt-navigate-start', code, true);
window.addEventListener('yt-navigate-finish', code, true);