mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
1 line
2.3 KiB
JavaScript
1 line
2.3 KiB
JavaScript
(()=>(t,e)=>{const i=t=>{const e=t.match(/(BV[\w]+)\/p([\d]+)/i)||t.match(/(av[\d]+)\/p([\d]+)/i);if(e){return`https://www.bilibili.com/video/${e[1]}/?p=${e[2]}`}else{return"javascript:;"}};const r=t=>{const e=t.map((t=>{const e=t.getAttribute("href");if(!e){return"javascript:;"}if(e.match(/.*watchlater.*|javascript:;/g)){return i(e)}if(e.match(/video\/av|video\/BV/i)){return e}return e}));t.forEach(((t,i)=>{t.setAttribute("href",e[i]);t.setAttribute("target","_blank")}))};const s=(...t)=>{for(const e of t){SpinQuery.select((()=>document.querySelectorAll(e)),(t=>r([...t])))}};if(t.watchLaterRedirectPage){if(document.URL==="https://www.bilibili.com/watchlater/#/list"){(async()=>{const{getWatchlaterList:t}=await e.importAsync("watchlater-api");const i=await t(true);const r=await SpinQuery.select(".watch-later-list .list-box > span");if(!r){return}const s=(t,e)=>{const r=i[e];const s=r.aid;const a=r.cid;const c=r.pages;const l=a===0?1:c.find((t=>t.cid===a)).page;const n=l>1?`https://www.bilibili.com/video/av${s}?p=${l}`:`https://www.bilibili.com/video/av${s}`;const o=t.querySelector(".av-pic");o.target="_blank";o.href=n;const d=t.querySelector(".av-about .t");d.target="_blank";d.href=n};const a=()=>{const t=r.querySelectorAll(".av-item");t.forEach(s)};Observer.childList(r,(t=>{t.forEach((t=>{t.removedNodes.forEach((t=>{if(t instanceof HTMLElement&&!t.classList.contains("itemlist-move")){const e=parseInt(dq(t,".key").textContent)-1;console.log("remove index",e);i.splice(e,1)}}))}));a()}))})()}}if(t.watchLaterRedirectNavbar){SpinQuery.select(".van-popper-favorite").then((async t=>{if(!t){return}const e=Observer.childListSubtree(t,(()=>{const i=t.querySelector(".play-all");if(i){const t="//www.bilibili.com/watchlater/#/list";Observer.attributes(i,(()=>{if(i.firstElementChild===null||i.lastChild===null){return}if(i.getAttribute("href")==="//www.bilibili.com/watchlater/"){i.setAttribute("href",t);i.firstElementChild.classList.remove("bili-icon_dingdao_bofang");i.firstElementChild.classList.add("bili-icon_xinxi_yuedushu");i.lastChild.nodeValue="查看全部"}else if(i.getAttribute("href")!==t){i.firstElementChild.classList.add("bili-icon_dingdao_bofang");i.firstElementChild.classList.remove("bili-icon_xinxi_yuedushu");i.lastChild.nodeValue="播放全部"}}));e.forEach((t=>t.stop()))}}))}))}})(); |