Bilibili-Evolved/min/auto-play-control.min.js
2021-10-26 13:22:15 +08:00

1 line
950 B
JavaScript

(()=>(e,t)=>{(async()=>{const e=["https://www.bilibili.com/video/","https://www.bilibili.com/watchlater/","https://www.bilibili.com/medialist/play/"];if(!e.some((e=>document.URL.startsWith(e)))){return}const i={enable:[".multi-page .next-button",".player-auxiliary-autoplay-switch input"],disable:[".recommend-list .next-button"]};const o=[()=>Boolean(dq(".multi-page .list-box li.on:last-child"))];const a=e=>Boolean(e.querySelector(".switch-button.on")||e.matches(":checked"));const{playerReady:l}=await t.importAsync("player-ready");await l();const n=async()=>{const e=await SpinQuery.select([...i.disable,...i.enable].join(","));if(!e){return}const t=i.enable.some((t=>e.matches(t)))&&o.every((e=>!Boolean(e())));const l=a(e);console.log(l,t,e);if(t!==l){e.click()}};Observer.videoChange((async()=>{n();const e=await SpinQuery.select(".bilibili-player-video video");e===null||e===void 0?void 0:e.addEventListener("play",n,{once:true})}))})()})();