youtube默认开启最高画质

2023/7/27 11:45:08

目前为 2023-08-21 提交的版本。查看 最新版本

// ==UserScript==
// @name        youtube默认开启最高画质
// @namespace   Violentmonkey Scripts
// @match        *://www.youtube.com/watch?v=*
// @match        *://www.youtube.com/*
// @grant       none
// @version     1.1
// @author      lazy cat
// @description 2023/7/27 11:45:08
// @run-at      document-end
// @license MIT
// @homepageURL      https://gf.qytechs.cn/zh-CN/scripts/473553-youtube%E9%BB%98%E8%AE%A4%E5%BC%80%E5%90%AF%E6%9C%80%E9%AB%98%E7%94%BB%E8%B4%A8
// @homepage        https://gf.qytechs.cn/zh-CN/scripts/473553-youtube%E9%BB%98%E8%AE%A4%E5%BC%80%E5%90%AF%E6%9C%80%E9%AB%98%E7%94%BB%E8%B4%A8
// ==/UserScript==
(function(){
    // 元素透明函数
    function transparent(judgment_num){
        let t_add = document.createElement('style')
        t_add.textContent = `.ytp-tooltip-text {opacity: ${judgment_num};}\n.ytp-popup {opacity: ${judgment_num};}`
        return document.head.appendChild(t_add)
    }
    // 移动鼠标使讨厌的“设置”提示消失
    function remove_ts(){
        let t_add = document.createElement('style')
        t_add.textContent = `.ytp-tooltip-text {opacity: 0;}`
        return document.head.appendChild(t_add)
    }
    // 时停函数
    function t_stop(num){
        return new Promise(resolve => setTimeout(resolve, num))
    }
    // 异步开启画质
    async function set_max_voice_px() {
        let style_doc = transparent(0)
        document.querySelectorAll('button[aria-label="设置"]')[0].click()
        await t_stop(300)
        let ex_b = document.querySelectorAll('div[class="ytp-popup ytp-settings-menu"] div[class="ytp-menuitem-content"]')
        ex_b[ex_b.length-1].click()
        await t_stop(400)
        let a_list = document.querySelectorAll('div[class="ytp-menuitem-label"] span')
        setTimeout(()=>{
            remove_ts()
            style_doc.remove()
        }, 150)
        if (!a_list[0].textContent.includes('Premium')){
            a_list[0].click()
            return
        }
        if (a_list[1].textContent.includes('Premium')){
            a_list[2].click()
            return
        }
        if (a_list[0].textContent.includes('Premium')){
            a_list[1].click()
            return
        }
    }
    // 判断视频是否加载完成
    async function judgment_voice_out(){
        if (j_num > 100){
            console.log('当前视频加载失败')
            return
        }
        let voice_wim = document.querySelector('video[class="video-stream html5-main-video"]')
        if (voice_wim.readyState === 4){
            setTimeout(set_max_voice_px, 500)
            j_num=0
        }
        else{
            await t_stop(100)
            j_num++
            judgment_voice_out()
        }
    }
    // 判断当前页面是否有视频
    function judgment_voice(){
        if (document.querySelectorAll('video[class="video-stream html5-main-video"]')){
            judgment_voice_out()
        }
        else{
            console.log('当前页面无视频')
        }
    }
    function list_judgment() {
        judgment_voice()
        //循环检查页面是否改变
        setInterval(() => {
            new_url = String(window.location.href)
            if (new_url != url){
                judgment_voice()
                url = new_url
            }
        }, 1000);
    }
    //开始运行程序
    var new_url = ''
    var j_num = 0
    var url = String(window.location.href)
    list_judgment()
    })()

QingJ © 2025

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