mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
1.6 KiB
JavaScript
1 line
1.6 KiB
JavaScript
(()=>(e,t)=>{let r;let n;let a;let i=true;var l;(function(e){e["TOP"]="视频顶部";e["MID"]="视频中间";e["BOT"]="视频底部"})(l||(l={}));function u(e){switch(e){case l.TOP:return 1;case l.MID:return.5;case l.BOT:return 0;default:return.5}}let s=()=>{};let o=()=>{};async function c(){await SpinQuery.unsafeJquery();const e=await SpinQuery.any((()=>unsafeWindow.$(".bilibili-player-video-btn-setting")));if(!e){return}e.mouseover().mouseout();const t=async e=>{const t=await SpinQuery.select(".bilibili-player-video-btn-setting-right-others-content-lightoff .bui-checkbox-input");t.checked=e;raiseEvent(t,"change")};s=()=>t(true);o=()=>t(false)}function d(){a.observe(n)}function y(){a.unobserve(n)}let f=()=>{if(i)return;i=true;if(e.scrollOutPlayerAutoPause&&r.paused){r.play()}if(e.scrollOutPlayerAutoLightOn&&e.useDefaultPlayerMode&&e.autoLightOff&&!e.scrollOutPlayerAutoPause&&!r.paused){s()}};let v=()=>{if(!r.paused){i=false}if(e.scrollOutPlayerAutoPause&&!r.paused){r.pause()}if(e.scrollOutPlayerAutoLightOn&&e.useDefaultPlayerMode&&e.autoLightOff&&!e.scrollOutPlayerAutoPause){o()}};let O=t=>new IntersectionObserver((([e])=>{e.isIntersecting?f():v()}),{threshold:u(t?t:e.scrollOutPlayerTriggerPlace)});function p(){Observer.videoChange((async()=>{r.addEventListener("play",d);r.addEventListener("ended",y)}))}(async function e(){await c();addSettingsListener("scrollOutPlayerTriggerPlace",(e=>{y();a=O(e);d()}));r=dq(".bilibili-player-video video");n=dq(".player-wrap")||dq(".player-module");a=O();p()})();return{reload:()=>{d();p()},unload:()=>{Observer.videoChange((async()=>{r.removeEventListener("play",d);r.removeEventListener("ended",y)}));y()}}})(); |