YouTube 标准画质

只允许YouTube选择1080P60、1080P30、720P60、720P30画质,避免由于网络问题卡顿:高画质用不上费流量、低网速降画质瞎眼睛。

目前為 2025-04-22 提交的版本,檢視 最新版本

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

You will need to install an extension such as Tampermonkey to install this script.

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         YouTube 标准画质
// @description  只允许YouTube选择1080P60、1080P30、720P60、720P30画质,避免由于网络问题卡顿:高画质用不上费流量、低网速降画质瞎眼睛。
// @match        https://www.youtube.com/*
// @version       0.1
// @author         yzcjd
// @author2       ChatGPT4 辅助
// @namespace   https://greasyfork.org/users/1171320
// @license MIT
// ==/UserScript==


(function() {
    'use strict';

    // 允许的画质
    const allowedQualities = ['1080p60', '1080p30', '720p60', '720p30'];

    // 等待视频质量选项加载
    function filterQuality() {
        const video = document.querySelector('video');
        const qualityMenu = document.querySelector('yt-player-quality-menu');

        if (!video || !qualityMenu) {
            // 视频或质量菜单尚未加载,继续检查
            setTimeout(filterQuality, 500);
            return;
        }

        // 获取当前可选的质量选项
        const qualityOptions = qualityMenu.querySelectorAll('yt-quality-select');
        qualityOptions.forEach(option => {
            const quality = option.getAttribute('quality-label').toLowerCase();
            if (!allowedQualities.includes(quality)) {
                // 隐藏不符合的质量选项
                option.style.display = 'none';
            }
        });

        // 强制设置合适的质量
        const currentQuality = video.getVideoQuality();
        if (allowedQualities.includes(currentQuality.toLowerCase())) {
            return; // 如果已经是允许的质量,什么也不做
        }

        // 默认设置为1080p60
        const defaultQuality = '1080p60';
        video.setVideoQuality(defaultQuality);
    }

    // 监听视频质量菜单变化
    const observer = new MutationObserver(filterQuality);
    observer.observe(document.body, { childList: true, subtree: true });

    // 初次执行
    filterQuality();
})();