// ==UserScript== // @name youtube默认开启最高画质 // @namespace Violentmonkey Scripts // @match *://www.youtube.com/watch?v=* // @match *://www.youtube.com/* // @grant none // @version 2.2 // @author lazy cat // @description 2023/7/27 11:45:08 // @run-at document-end // @license MIT // @homepageURL https://greasyfork.org/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://greasyfork.org/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 // @downloadURL none // ==/UserScript== (function(){ function t_stop(num){ return new Promise((resolve)=>{setTimeout(resolve, num)}) } async function set_max_voice_px() { if (j_num>50){ return } player = document.querySelector('div[id="movie_player"]') if (player && player.getAvailableQualityLevels && player.getAvailableQualityLevels().length > 0){ let v_list = player.getAvailableQualityLevels() player.setPlaybackQualityRange(v_list[0]) j_num = 0 } else{ j_num++ await t_stop(100) set_max_voice_px() } } function list_judgment() { set_max_voice_px() //循环检查页面是否改变 setInterval(() => { new_url = String(window.location.href) if (new_url != url){ j_num = 0 set_max_voice_px() url = new_url } }, 1000); } //开始运行程序 var j_num = 0 var new_url = '' var url = String(window.location.href) list_judgment() })()