Greasy Fork

Greasy Fork is available in English.

斗鱼默认最高画质

切换斗鱼最高画质

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         斗鱼默认最高画质
// @namespace    http://tampermonkey.net/
// @version      1.2
// @description  切换斗鱼最高画质
// @author       lemon
// @match        http*://www.douyu.com/*
// @icon         https://www.douyu.com/favicon.ico
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    window.onload = function(){
        const startTime = new Date().getTime()
        let count = 1
        function autoClick(){
            let dom = Array.from(document.querySelectorAll('input')).find((item,index)=>{return item.value.includes('画质')})
            if(dom){
                const ul_dom = Array.from(dom.parentNode.childNodes).find((item)=>item.tagName=='UL')
                const li_dom = Array.from(ul_dom.childNodes)
                let seleteIndex = 0
                li_dom.forEach((item,index)=>{
                    if(item.className!=''){
                        seleteIndex = index
                    }
                })
                if(seleteIndex==0){
                    const endTime = new Date().getTime()
                    console.log('默认为最高画质,无需切换')
                    console.log(`脚本结束,耗时:${(endTime-startTime)/1000}秒`)
                }else{
                    const endTime = new Date().getTime()
                    const old_quality = li_dom[seleteIndex].innerText
                    const new_quelity = li_dom[0].innerText
                    li_dom[0].click()
                    console.log(`已从${old_quality}切换到${new_quelity}`)
                    console.log(`脚本结束,耗时:${(endTime-startTime)/1000}秒`)
                }
            }else{
                if(count++<20){
                    setTimeout(()=>{
                        autoClick()
                    },1000)
                }else{
                    console.log('脚本结束,可能此网站不是直播间')
                }
            }
        }
        autoClick()
    }
})();