Youtube Age Confirmation Bypass

Prevents you from having to sign in to view age restricted videos on YouTube

目前为 2017-05-20 提交的版本。查看 最新版本

// ==UserScript==
// @name        Youtube Age Confirmation Bypass
// @namespace   kneels
// @description Prevents you from having to sign in to view age restricted videos on YouTube
// @include     https://www.youtube.*/watch*
// @include     http://*.youtube.*/watch*
// @include     https://*.youtube.*/watch*
// @match       http://*.youtube.com/watch*
// @match       https://*.youtube.com/watch*
// @match       https://*.youtube.com/verify_age*
// @version     1.6
// @grant       none
// ==/UserScript==

var quality = 720; // Change this to the default quality of your preference
var currentUrl = decodeURIComponent(window.location.href);

function getEmbedUrl(videoID) {
    return "https://www.youtube.com/embed/" + videoID;
}

function getVideoID(url) {
    url = url.substr(url.indexOf("v=") + 2);
    var junk = url.indexOf("&");
    if (junk != -1) {
        url = url.substr(0, junk);
    }
    return url;
}

function createEmbedString() {
    var embedString = "<iframe width=\"100%\" height=\"100%\" src='" +
        getEmbedUrl(getVideoID(currentUrl)) + "?autoplay=1&vq=hd" +
        quality + "' frameborder=\"0\" allowfullscreen></iframe>";

    return embedString;
}

window.addEventListener('load', function() {
    // Redirect to the regular video page if we're on a "verify age" page
    if (currentUrl.indexOf("verify_age?next_url=/") != -1) {
        window.location = currentUrl.replace("verify_age?next_url=/", "");
        return;
    }

    // Check a couple of times to see if the required DOM element is available. If it is and the 
    // age restricted message appears to be not hidden, replace the regular player with an embedded player.
    var attempts = 0;
    var check = setInterval(function() {
        // New Youtube layout
        var el = document.getElementById('error-screen');
        if (null != el && !el.hasAttribute('hidden')) {
            document.querySelector('#player.ytd-watch').innerHTML = createEmbedString();
            clearInterval(check);
            return;
        }
        // Old Youtube layout
        el = document.getElementById('player-unavailable');
        if (null != el && !el.classList.contains('hid')) {
            document.getElementById('player-unavailable').innerHTML = createEmbedString();
            clearInterval(check);
            return;
        }

        if (++attempts > 3) {
            clearInterval(check);
        }
    }, 300);

}, false);

QingJ © 2025

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