Bilibili-Evolved/min/default-live-quality.min.js

1 line
1.0 KiB
JavaScript

(()=>{return(t,i)=>{(async()=>{if(!document.URL.match(/^https:\/\/live.bilibili.com\/(blanc\/)?(\d+)/)){return}const i=Resource.all.useDefaultLiveQuality.dropdown;const l=i.items;const e=t.defaultLiveQuality;const o=await SpinQuery.select(".bilibili-live-player-video-controller-switch-quality-btn");if(o===null){console.warn("qualitySettings null");return}const n=async()=>{const t=o.children[0].getAttribute("data-title");const i=dqa(o,".bilibili-live-player-video-controller-html-tooltip-option .text-btn");const n=i.map(t=>t.getAttribute("data-title"));console.log(t,n,e);if(t!==e){let t=e;while(!n.includes(t)){const i=l.indexOf(t);if(i>=l.length-1){console.log("reached lowest quality");return}t=l[i+1]}const o=i[n.indexOf(t)];console.log(o);while(!(o.classList.contains("active")||dq(".bilibili-live-player-video-controller-switch-quality-info"))){await(()=>new Promise(t=>setTimeout(()=>t(),3e3)))();o.click();console.log("click")}}};const c=Observer.childList(o,()=>{console.log(o.childElementCount);if(o.childElementCount>0){n()}})})()}})();