Bilibili-Evolved/min/frame-playback.min.js
2019-03-12 11:52:46 +08:00

1 line
1.3 KiB
JavaScript

(()=>{return(e,t)=>{const r=t.import("framePlaybackHtml");t.applyStyle("framePlaybackStyle");const a=async()=>{const t=await SpinQuery.select(()=>document.querySelector("video"));const a=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-time"));if(a===null||document.querySelector(".frame-playback")){return}a.insertAdjacentHTML("afterend",r);let i=0;const c=()=>t.currentTime-=i;const n=()=>t.currentTime+=i;Observer.attributesSubtree(".bilibili-player-video-quality-menu ul.bui-select-list",()=>{const e=document.querySelector(".bilibili-player-video-quality-menu .bui-select-item-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}})();i=1/r});document.addEventListener("keydown",e=>{if(e.shiftKey&&!["input","textarea"].includes(document.activeElement.nodeName.toLowerCase())){if(e.key==="ArrowLeft"){e.stopPropagation();e.preventDefault();c()}else if(e.key==="ArrowRight"){e.stopPropagation();e.preventDefault();n()}}});document.querySelector(".prev-frame").addEventListener("click",c);document.querySelector(".next-frame").addEventListener("click",n);if(e.touchVideoPlayer){document.querySelectorAll(".frame-playback").forEach(e=>e.classList.add("touch"))}};Observer.videoChange(a)}})();