Bilibili-Evolved/min/default-video-quality.min.js
2018-12-17 18:14:58 +08:00

1 line
975 B
JavaScript

(()=>{return(e,a)=>{const t=[{name:"1080P60",value:116},{name:"1080P+",value:112},{name:"1080P",value:80},{name:"720P",value:64},{name:"480P",value:32},{name:"360P",value:15},{name:"自动",value:0}];async function i(){const a=await SpinQuery.any(()=>$(".bilibili-player-video-quality-menu .bui-select-list>li.bui-select-item"));const[i]=a.toArray().map(e=>parseInt(e.getAttribute("data-value"))).sort(e=>e);const[n]=t.filter(a=>a.name===e.defaultVideoQuality).map(e=>e.value);const[l]=t.map(e=>e.value).filter(e=>e<=Math.min(n,i)).sort(e=>e);console.info(`[Video Quality] availableHighestQualities=${i}`);console.info(`[Video Quality] targetQuality=${n}`);console.info(`[Video Quality] finalQuality=${l}`);const u=await SpinQuery.condition(()=>document.querySelector("video"),e=>e);function o(){a.each((e,a)=>{if(parseInt(a.getAttribute("data-value"))===l){a.click()}});this.removeEventListener("play",o)}u.addEventListener("play",o)}Observer.subtree("#bofqi",()=>i())}})();