mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
2.2 KiB
JavaScript
1 line
2.2 KiB
JavaScript
(()=>(e,i)=>{if(typeof isEmbeddedPlayer!=="undefined"&&isEmbeddedPlayer()){return}function t(e){return e.innerText.search(/\d{1,}[::]\d{2}/)!==-1&&e.childElementCount===0}function n(e){var i=e.offsetLeft;var t=e.offsetTop;var n=e.offsetParent;while(n!==null){i+=n.offsetLeft;t+=n.offsetTop+n.clientTop;n=n.offsetParent}styleTransform=e.style.transform;translateXReg=styleTransform.match(/translateX\(-?[0-9]{1,}([.][0-9]{1,})?px\)/);if(translateXReg!==null){i+=parseFloat(translateXReg[0].match(/-?[0-9]{1,}([.][0-9]{1,})?/)[0])}return{left:i,right:i+e.offsetWidth,top:t,bottom:t+e.offsetHeight}}function r(){const e=document.querySelector(".bilibili-player-video-danmaku").mousePosition;document.querySelector(".bilibili-player-video-danmaku").children.forEach((i=>{if(typeof i.airborneDestination==="undefined"){return true}const t=n(i);if(t.left<=e[0]&&e[0]<=t.right&&t.top<=e[1]&&e[1]<=t.bottom){document.querySelector(".bilibili-player-video video").currentTime=i.airborneDestination;document.querySelector(".bilibili-player-video video").play()}}))}function o(i){if(e.airborne){airborneDestination=i.innerText.match(/\d{1,}[::]\d{2}/)[0];sep=airborneDestination.includes(":")?":":":";airborneDestination=parseInt(airborneDestination.split(sep)[0])*60+parseInt(airborneDestination.split(sep)[1]);if(0<=airborneDestination&&airborneDestination<=document.querySelector(".bilibili-player-video video").duration){i.airborneDestination=airborneDestination;const e=i.offsetWidth;i.innerHTML="<u>"+i.innerText+"🚁</u>";if(i.style.marginLeft===""){i.style.marginLeft="-"+(i.offsetWidth-e).toString()+"px"}}}}(function e(){SpinQuery.select((()=>document.querySelector(".bilibili-player-video-danmaku"))).then((()=>{document.querySelector(".bilibili-player-video-danmaku").mousePosition=[0,0];document.addEventListener("mousemove",(e=>{document.querySelector(".bilibili-player-video-danmaku").mousePosition=[e.clientX,e.clientY]}),false);document.querySelector(".bilibili-player-video-wrap").addEventListener("click",(()=>{setTimeout((()=>{r()}),5)}));Observer.childList(".bilibili-player-video-danmaku",(e=>{e.forEach((e=>{e.addedNodes.forEach((e=>{if(t(e)){o(e)}Observer.childList(e,(e=>{e.forEach((e=>{if(t(e.target)){o(e.target)}}))}))}))}))}))}))})()})(); |