Bilibili-Evolved/min/bvid-convert.min.js
2021-01-07 23:35:27 +08:00

1 line
1.6 KiB
JavaScript

(()=>(i,e)=>{const n=["https://www.bilibili.com/video/","https://www.bilibili.com/bangumi/"].some((i=>document.URL.startsWith(i)));if(i.preferAvUrl&&document.URL.startsWith("https://www.bilibili.com/video/")){SpinQuery.select((()=>unsafeWindow.aid)).then((i=>{if(!i){return}if(document.URL.includes("videocard_series")){console.log("skip video series");return}const e=document.URL.replace(/\/(video|bangumi)\/(BV[\w]+)/i,((e,n)=>`/${n}/av${i}`));if(document.URL!==e){history.replaceState({},document.title,e)}}))}return{widget:{content:`<div class="bvid-convert"></div>`,condition:async()=>{if(n){return Boolean(await SpinQuery.select((()=>unsafeWindow.aid||unsafeWindow.bvid)))}else{return false}},success:()=>{e.applyStyle("bvidConvertStyle");const i=(i,e)=>{if(!i||!e){return""}return`\n<div class="bvid-convert-item">av${i}<i class="mdi mdi-link aid"></i></div>\n<div class="bvid-convert-item">${e}<i class="mdi mdi-link bvid"></i></div>\n`};const n=dq(".bvid-convert");n.addEventListener("click",(i=>{const e=i.target;const n=e.classList;if(n.contains("mdi")){if(n.contains("mdi-check")){return}const i=e.previousSibling;if(i){const e=window.location.search?`?${window.location.search}`:"";GM.setClipboard(`https://www.bilibili.com/video/${i.textContent}${e}`,"text");n.remove("mdi-link");n.add("mdi-check");setTimeout((()=>{n.remove("mdi-check");n.add("mdi-link")}),1e3)}}}));const t=async()=>{const e=dq(".bvid-convert");e.innerHTML=i(unsafeWindow.aid,unsafeWindow.bvid);const n=await SpinQuery.select(".av-link,.bv-link,.bvid-link");if(n){e.innerHTML=i(unsafeWindow.aid,n.innerHTML)}};Observer.videoChange(t)}}}})();