Bilibili-Evolved/min/frame-playback.min.js
2021-10-26 13:22:15 +08:00

1 line
1.4 KiB
JavaScript

(()=>(e,t)=>{const r=t.import("framePlaybackHtml");t.applyStyle("framePlaybackStyle");const a=async()=>{const{playerAgent:a}=await t.importAsync("player-agent");if(e.videoScreenshot){const e=await SpinQuery.select(".video-take-screenshot");if(e===null||document.querySelector(".frame-playback")){return}e.insertAdjacentHTML("afterend",r)}else{const e=await a.query.control.buttons.time();if(e===null||document.querySelector(".frame-playback")){return}e.insertAdjacentHTML("afterend",r)}let c=0;const l=e=>()=>{a.changeTime((e?1:-1)*c)};const n=l(false);const o=l(true);Observer.attributesSubtree(`${a.query.control.buttons.quality.selector} ul`,(()=>{const e=document.querySelector(`${a.query.control.buttons.quality.selector} .bui-select-item-active, ${a.query.control.buttons.quality.selector} .active`);const t=e?parseInt(e.getAttribute("data-value")):0;const r=(()=>{switch(t){case 116:case 74:return 6e4/1001;default:return 3e4/1001}})();c=1/r}));document.querySelector(".prev-frame").addEventListener("click",n);document.querySelector(".next-frame").addEventListener("click",o);if(e.touchVideoPlayer){document.querySelectorAll(".frame-playback").forEach((e=>e.classList.add("touch")))}};Observer.videoChange(a);return{reload:()=>document.querySelectorAll(".frame-playback").forEach((e=>e.setAttribute("style","display: flex !important"))),unload:()=>document.querySelectorAll(".frame-playback").forEach((e=>e.setAttribute("style","display: none !important")))}})();