您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
change default YouTube video quality
当前为
// ==UserScript== // @name YouTube Default Override // @namespace http://www.youtube.com/ // @version 1.0 // @description change default YouTube video quality // @include http://youtube.com/* // @include https://youtube.com/* // @include http://www.youtube.com/* // @include https://www.youtube.com/* // @run-at document-end // ==/UserScript== //qualities = ["auto", "hd1080", "hd720", "large", "medium", "small", "tiny"]; youtubeOverride = { enabled: true, maxAttempts: 50, tryTimeout: 333, quality: "hd720", overrideQuality: function () { console.log("quality override starting"); var player = document.getElementById("movie_player"); var qualityToSet = null; if (player && player.setPlaybackQuality) { var qualityLevels = player.getAvailableQualityLevels(); for (var i = 0; i < qualityLevels.length; i++) { if (qualityLevels[i].trim().toLowerCase() === youtubeOverride.quality) { qualityToSet = qualityLevels[i]; break; } } if (qualityToSet == null) { qualityToSet = qualityLevels[0]; } if (qualityToSet != null) { player.setPlaybackQuality(qualityToSet); console.log("set quality to " + qualityToSet); } else { console.log("error: no quality levels available"); } } else { console.log("cannot get player api"); console.log(player); } return qualityToSet != null; }, override: function () { if (youtubeOverride.enabled) { console.log("override script starting") var maxAttempts = youtubeOverride.maxAttempts; var tryTimeout = youtubeOverride.tryTimeout; function callUntilTrue(f, maxAttempts, timeout) { var timeoutTryFunc = function () { if (!f()) { if (timeoutTryFunc.attempts < maxAttempts) { timeoutTryFunc.attempts++; setTimeout(timeoutTryFunc, timeout); } else { console.error("ERROR: timeout try failed"); } } else { console.log("timeout try succeeded on #" + timeoutTryFunc.attempts); } }; timeoutTryFunc.attempts = 1; setTimeout(timeoutTryFunc, 0); } callUntilTrue(youtubeOverride.overrideQuality, maxAttempts, tryTimeout); } }, getPlayer: function () { return document.getElementById("movie_player"); }, }; youtubeOverride.override()