您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Youtube 画质锁定(一次选择后一直有效)
// ==UserScript== // @name Youtube 画质锁定 // @namespace YYoutube quality lock // @version 2023.08.29.01 // @description Youtube 画质锁定(一次选择后一直有效) // @author James Wood // @match *://www.youtube.com/* // @grant none // @license MIT // ==/UserScript== (async function() { 'use strict'; // 获取之前选择的视频画质 let vidQuality = await GM.getValue('videoQuality', 1); console.log('之前选择的视频画质:', vidQuality); document.addEventListener('yt-player-updated', () => { /* 检查页面类型 */ if (window.location.pathname != '/watch') { return; } console.log('视频播放器已更新'); /* 加载设置面板 */ let settingsBtn = document.querySelector('.ytp-settings-button'); settingsBtn.click(); settingsBtn.click(); console.log('已点击设置按钮'); /* 打开画质选择面板 */ let qualityBtn = document.querySelector('.ytp-menuitem-content div:not(.ytp-menuitem-toggle-checkbox)'); qualityBtn.click(); let qualityOptions = document.querySelectorAll('.ytp-quality-menu .ytp-menuitem:not(:has(.ytp-premium-label))'); console.log('可选画质:', qualityOptions); /* 关闭画质选择面板 */ settingsBtn.click(); settingsBtn.click(); console.log('已关闭画质选择面板'); /* 选择视频画质 */ let nth_option = qualityOptions.length - vidQuality; console.log('nth_option:', nth_option); let selectedOption = qualityOptions[Math.max(0, nth_option)]; console.log('selectedOption:', selectedOption); selectedOption.click(); console.log('已选择视频画质:', selectedOption.textContent); /* 添加画质选择的事件监听器 */ for (let i = 0; i < qualityOptions.length; ++i) { qualityOptions[i].addEventListener('click', () => { GM.setValue('videoQuality', qualityOptions.length - i); console.log('已更新视频画质:', qualityOptions.length - i); }); } }); console.log('YouTube固定视频画质脚本开始执行'); })();