// ==UserScript== // @name 斗鱼自动切换最高画质或最低画质 // @namespace https://github.com/Eished // @author Eished // @version 2021.08.03.5 // @description 斗鱼直播自动调整最低分辨率或最高分辨率;自动调整2K、蓝光、超清、高清清晰度; // @license AGPL-3.0 // @match *://www.douyu.com/* // @icon https://www.google.com/s2/favicons?domain=greasyfork.org // @grant GM_setValue // @grant GM_getValue // @grant GM_registerMenuCommand // @downloadURL none // ==/UserScript== (function () { 'use strict'; const videoSub = document.querySelector(".layout-Player-videoSub"); if (videoSub == undefined) { return; } let Clarity = GM_getValue("Clarity"); if (Clarity == undefined) { Clarity = 1; GM_setValue("Clarity", Clarity); } const observer = new MutationObserver(callback); observer.observe(videoSub, { childList: true, subtree: true }) function callback() { const controller = videoSub.querySelector(`[value="画质 "]`); if (controller) { observer.disconnect(); let ul = controller.nextElementSibling; if (Clarity == 1) { ul = ul.firstElementChild; // 最高画质 } else { ul = ul.lastElementChild; // 最低画质 } ul.className ? console.log(ul.className) : ul.click(); return; } } function high() { Clarity = 1; GM_setValue("Clarity", Clarity); location.reload(); } function low() { Clarity = 0; GM_setValue("Clarity", Clarity); location.reload(); } GM_registerMenuCommand("最高画质", high); GM_registerMenuCommand("最低画质", low); })();