Greasy Fork

抖音视频网页清晰度设置

自动将抖音视频清晰度设置最高清配置(使用会话存储)

当前为 2024-12-24 提交的版本,查看 最新版本

// ==UserScript==
// @name         抖音视频网页清晰度设置
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  自动将抖音视频清晰度设置最高清配置(使用会话存储)
// @author       Your name
// @match        https://*.douyin.com/*
// @icon         https://www.douyin.com/favicon.ico
// @grant        none
// @license      MIT
// @run-at       document-start
// ==/UserScript==

(function() {
    'use strict';

    // 最高清配置
    const QUALITY_CONFIG = {"clarityReal":["normal_1080_0","low_720_0","low_540_0","normal_720_0","normal_540_0","adapt_low_540_0","lower_540_0","adapt_lowest_1080_1","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1","adapt_lowest_1080_1","adapt_lowest_720_1","adapt_540_1","adapt_lower_540_1"],"done":1,"gearClarity":"20","qualityType":1,"gearName":"超清 4K","gearType":-2};


    // 设置视频清晰度
    function setVideoQuality() {
        try {
            const currentConfig = JSON.parse(sessionStorage.getItem('MANUAL_SWITCH') || '{}');
            // 只有当清晰度不是1080P时才设置
            if (currentConfig.gearClarity !== "5") {
                sessionStorage.setItem('MANUAL_SWITCH', JSON.stringify(QUALITY_CONFIG));
                console.log('✅ 已设置抖音清晰度为1080P');
            }
        } catch (error) {
            console.error('❌ 设置清晰度失败:', error);
        }
    }

    // 持续监控并设置清晰度
    function startQualityMonitor() {
        // 立即执行一次
        setVideoQuality();

        // 每500ms检查一次
        setInterval(setVideoQuality, 500);

        // 监听URL变化
        let lastUrl = location.href;
        new MutationObserver(() => {
            const currentUrl = location.href;
            if (currentUrl !== lastUrl) {
                lastUrl = currentUrl;
                setVideoQuality();
            }
        }).observe(document, { subtree: true, childList: true });
    }

    // 创建设置面板
    function createSettingsPanel() {
        const panel = document.createElement('div');
        panel.style.cssText = `
            position: fixed;
            top: 70px;
            right: 10px;
            background: rgba(0, 0, 0, 0.7);
            color: white;
            padding: 10px;
            border-radius: 5px;
            z-index: 9999;
            font-size: 12px;
            display: none;
        `;
        panel.innerHTML = '1080P清晰度守护已启动';
        document.body.appendChild(panel);

        // 显示2秒后隐藏
        panel.style.display = 'block';
        setTimeout(() => {
            panel.style.display = 'none';
        }, 2000);
    }

    // 启动脚本
    startQualityMonitor();

    // 页面加载完成后显示提示
    window.addEventListener('load', () => {
        createSettingsPanel();
    });
})();