mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
Fix Observer bugs
This commit is contained in:
parent
62f22bf01b
commit
bc3c09242a
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name Bilibili Evolved (Offline)
|
||||
// @version 812.78
|
||||
// @version 812.80
|
||||
// @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中.
|
||||
// @author Grant Howard, Coulomb-G
|
||||
// @copyright 2020, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
|
||||
@ -1534,7 +1534,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/volume-overdrive.min.js"] = (()=>{return(e,t)=>{const n=new Map;const i=e=>{console.log("create new context");const t=new AudioContext;const i=t.createMediaElementSource(e);const o=t.createGain();i.connect(o);o.connect(t.destination);n.set(e,o.gain);return o.gain};const o=e=>{if(n.has(e)){const t=n.get(e);t.value=1}};const r=(e,t)=>{if(n.has(e)){const i=n.get(e);let o=i.value+t;if(o<0){o=0}i.value=o;return o}else{const n=i(e);const o=n.value+t;n.value=o;return o}};const s=async()=>{const e=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/","https://www.bilibili.com/watchlater/","https://www.bilibili.com/medialist/play/"];if(e.every(e=>!document.URL.startsWith(e))){return}let i;const o=e=>{let n=dq(".volume-overdrive-tip");if(!n){const e=dq(".bilibili-player-video-wrap");if(!e){return}e.insertAdjacentHTML("afterbegin",`\n<div class="volume-overdrive-tip-container">\n<i class="mdi mdi-volume-high"></i>\n<div class="volume-overdrive-tip"></div>\n</div>\n`);t.applyStyleFromText(`\n .volume-overdrive-tip-container {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 8px 16px;\n background-color: #000A;\n color: white;\n pointer-events: none;\n opacity: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n font-size: 14pt;\n border-radius: 4px;\n transition: .2s ease-out;\n }\n .volume-overdrive-tip-container.show {\n opacity: 1;\n }\n .volume-overdrive-tip-container i {\n line-height: 1;\n margin-right: 8px;\n font-size: 18pt;\n }\n`,"volumeOverdriveStyle");n=dq(".volume-overdrive-tip")}const o=dq("video");n.innerHTML=`音量${Math.round(o.volume*100)}% x 增幅${Math.round(e*100)}% = ${Math.round(o.volume*e*100)}%`;if(i){clearTimeout(i)}dq(".volume-overdrive-tip-container").classList.add("show");i=setTimeout(()=>{dq(".volume-overdrive-tip-container").classList.remove("show")},2e3)};Observer.videoChange(async()=>{n.clear();document.body.addEventListener("keydown",e=>{const t=!e.shiftKey&&e.ctrlKey&&!e.altKey&&!e.metaKey;if(t&&(e.key==="ArrowDown"||e.key==="ArrowUp")){const t=dq("video");if(!t){return}const n=e.key==="ArrowDown"?-.1:.1;const i=r(t,n);o(i);e.preventDefault();e.stopImmediatePropagation()}},{capture:true})})};s();return{export:{setVolume:r}}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater-api.min.js"] = (()=>{return(t,i)=>{const e=async(t,i)=>{const e=i?"https://api.bilibili.com/x/v2/history/toview/add":"https://api.bilibili.com/x/v2/history/toview/del";const a=getCsrf();const s=await Ajax.postTextWithCredentials(e,`aid=${t}&csrf=${a}`);const r=JSON.parse(s);if(r.code!==0){throw new Error(`稍后再看操作失败: ${r.message}`)}};async function a(t=false){const i=`https://api.bilibili.com/x/v2/history/toview/web`;const e=await Ajax.getJsonWithCredentials(i);if(e.code!==0){throw new Error(`获取稍后再看列表失败: ${e.message}`)}if(!e.data.list){return[]}if(t){return e.data.list}return e.data.list.map(t=>t.aid)}return{export:{toggleWatchlater:e,getWatchlaterList:a}}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater-expire-warnings.min.js"] = (()=>{return(e,n)=>{(async()=>{if(!["//www.bilibili.com/watchlater/#/list"].some(e=>document.URL.includes(e))){return}const{getWatchlaterList:t}=await n.importAsync("watchlater-api");const i=await SpinQuery.select(".watch-later-list .list-box");if(i===null){return}n.applyStyleFromText(`\n .expire-warning {\n padding: 3px 25px;\n color: #F78C6C;\n display: inline-flex;\n align-items: center;\n }\n .expire-warning .mdi {\n line-height: 1;\n margin-right: 8px;\n font-size: 16px;\n }\n`,"watchlater-expire-warning-style");const r=e.watchlaterExpireWarningDays;const a=24*3600*1e3;const l=e=>{return(e-Number(new Date))/a};Observer.childListSubtree(i,async()=>{const e=[...i.querySelectorAll(".av-item .state")];const n=await t(true);e.forEach((e,t)=>{const i=n[t].add_at*1e3+60*a;const c=l(i);console.log(n[t].aid,c);if(c<r){if(e.querySelector(".expire-warning")===null){const n=-Math.floor(-c);e.insertAdjacentHTML("afterbegin",`\n<span class="expire-warning" title="到期时间: ${new Date(i).toLocaleString()}"><i class="mdi mdi-alert-circle-outline"></i>还剩${n}天过期</span>`)}}else{e.querySelectorAll(".expire-warning").forEach(e=>e.remove())}})})})()}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater.min.js"] = (()=>{return(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 a=(...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");if(!r){return}const a=r.querySelectorAll(".av-item");const c=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;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};a.forEach(c);Observer.childList(r,t=>{t.forEach(t=>{t.addedNodes.forEach(t=>{if(t instanceof Element){c(t,[...r.children].indexOf(t))}})})})})()}}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())}})})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater.min.js"] = (()=>{return(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 a=(...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 a=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;const o=t.querySelector(".av-pic");o.target="_blank";o.href=n;const h=t.querySelector(".av-about .t");h.target="_blank";h.href=n};const c=r.querySelectorAll(".av-item");c.forEach(a);Observer.attributesSubtree(r,t=>{t.forEach(t=>{if(t.target instanceof HTMLAnchorElement&&t.attributeName==="href"){const e=t.target;const i=dqa(r,".av-item");if(e.href.includes("/medialist/play/watchlater/")){const t=i.findIndex(t=>t.contains(e));if(t!==-1){a(i[t],t)}}}})})})()}}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())}})})}}})();
|
||||
|
||||
class ResourceType {
|
||||
constructor (name, preprocessor) {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
// ==UserScript==
|
||||
// @name Bilibili Evolved (Preview Offline)
|
||||
// @version 812.78
|
||||
// @version 812.80
|
||||
// @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中.
|
||||
// @author Grant Howard, Coulomb-G
|
||||
// @copyright 2020, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
|
||||
@ -1534,7 +1534,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/volume-overdrive.min.js"] = (()=>{return(e,t)=>{const n=new Map;const i=e=>{console.log("create new context");const t=new AudioContext;const i=t.createMediaElementSource(e);const o=t.createGain();i.connect(o);o.connect(t.destination);n.set(e,o.gain);return o.gain};const o=e=>{if(n.has(e)){const t=n.get(e);t.value=1}};const r=(e,t)=>{if(n.has(e)){const i=n.get(e);let o=i.value+t;if(o<0){o=0}i.value=o;return o}else{const n=i(e);const o=n.value+t;n.value=o;return o}};const s=async()=>{const e=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/","https://www.bilibili.com/watchlater/","https://www.bilibili.com/medialist/play/"];if(e.every(e=>!document.URL.startsWith(e))){return}let i;const o=e=>{let n=dq(".volume-overdrive-tip");if(!n){const e=dq(".bilibili-player-video-wrap");if(!e){return}e.insertAdjacentHTML("afterbegin",`\n<div class="volume-overdrive-tip-container">\n<i class="mdi mdi-volume-high"></i>\n<div class="volume-overdrive-tip"></div>\n</div>\n`);t.applyStyleFromText(`\n .volume-overdrive-tip-container {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 8px 16px;\n background-color: #000A;\n color: white;\n pointer-events: none;\n opacity: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n font-size: 14pt;\n border-radius: 4px;\n transition: .2s ease-out;\n }\n .volume-overdrive-tip-container.show {\n opacity: 1;\n }\n .volume-overdrive-tip-container i {\n line-height: 1;\n margin-right: 8px;\n font-size: 18pt;\n }\n`,"volumeOverdriveStyle");n=dq(".volume-overdrive-tip")}const o=dq("video");n.innerHTML=`音量${Math.round(o.volume*100)}% x 增幅${Math.round(e*100)}% = ${Math.round(o.volume*e*100)}%`;if(i){clearTimeout(i)}dq(".volume-overdrive-tip-container").classList.add("show");i=setTimeout(()=>{dq(".volume-overdrive-tip-container").classList.remove("show")},2e3)};Observer.videoChange(async()=>{n.clear();document.body.addEventListener("keydown",e=>{const t=!e.shiftKey&&e.ctrlKey&&!e.altKey&&!e.metaKey;if(t&&(e.key==="ArrowDown"||e.key==="ArrowUp")){const t=dq("video");if(!t){return}const n=e.key==="ArrowDown"?-.1:.1;const i=r(t,n);o(i);e.preventDefault();e.stopImmediatePropagation()}},{capture:true})})};s();return{export:{setVolume:r}}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater-api.min.js"] = (()=>{return(t,i)=>{const e=async(t,i)=>{const e=i?"https://api.bilibili.com/x/v2/history/toview/add":"https://api.bilibili.com/x/v2/history/toview/del";const a=getCsrf();const s=await Ajax.postTextWithCredentials(e,`aid=${t}&csrf=${a}`);const r=JSON.parse(s);if(r.code!==0){throw new Error(`稍后再看操作失败: ${r.message}`)}};async function a(t=false){const i=`https://api.bilibili.com/x/v2/history/toview/web`;const e=await Ajax.getJsonWithCredentials(i);if(e.code!==0){throw new Error(`获取稍后再看列表失败: ${e.message}`)}if(!e.data.list){return[]}if(t){return e.data.list}return e.data.list.map(t=>t.aid)}return{export:{toggleWatchlater:e,getWatchlaterList:a}}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater-expire-warnings.min.js"] = (()=>{return(e,n)=>{(async()=>{if(!["//www.bilibili.com/watchlater/#/list"].some(e=>document.URL.includes(e))){return}const{getWatchlaterList:t}=await n.importAsync("watchlater-api");const i=await SpinQuery.select(".watch-later-list .list-box");if(i===null){return}n.applyStyleFromText(`\n .expire-warning {\n padding: 3px 25px;\n color: #F78C6C;\n display: inline-flex;\n align-items: center;\n }\n .expire-warning .mdi {\n line-height: 1;\n margin-right: 8px;\n font-size: 16px;\n }\n`,"watchlater-expire-warning-style");const r=e.watchlaterExpireWarningDays;const a=24*3600*1e3;const l=e=>{return(e-Number(new Date))/a};Observer.childListSubtree(i,async()=>{const e=[...i.querySelectorAll(".av-item .state")];const n=await t(true);e.forEach((e,t)=>{const i=n[t].add_at*1e3+60*a;const c=l(i);console.log(n[t].aid,c);if(c<r){if(e.querySelector(".expire-warning")===null){const n=-Math.floor(-c);e.insertAdjacentHTML("afterbegin",`\n<span class="expire-warning" title="到期时间: ${new Date(i).toLocaleString()}"><i class="mdi mdi-alert-circle-outline"></i>还剩${n}天过期</span>`)}}else{e.querySelectorAll(".expire-warning").forEach(e=>e.remove())}})})})()}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater.min.js"] = (()=>{return(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 a=(...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");if(!r){return}const a=r.querySelectorAll(".av-item");const c=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;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};a.forEach(c);Observer.childList(r,t=>{t.forEach(t=>{t.addedNodes.forEach(t=>{if(t instanceof Element){c(t,[...r.children].indexOf(t))}})})})})()}}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())}})})}}})();
|
||||
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater.min.js"] = (()=>{return(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 a=(...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 a=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;const o=t.querySelector(".av-pic");o.target="_blank";o.href=n;const h=t.querySelector(".av-about .t");h.target="_blank";h.href=n};const c=r.querySelectorAll(".av-item");c.forEach(a);Observer.attributesSubtree(r,t=>{t.forEach(t=>{if(t.target instanceof HTMLAnchorElement&&t.attributeName==="href"){const e=t.target;const i=dqa(r,".av-item");if(e.href.includes("/medialist/play/watchlater/")){const t=i.findIndex(t=>t.contains(e));if(t!==-1){a(i[t],t)}}}})})})()}}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())}})})}}})();
|
||||
|
||||
class ResourceType {
|
||||
constructor (name, preprocessor) {
|
||||
|
||||
@ -1533,7 +1533,7 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/m
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/volume-overdrive.min.js"] = (()=>{return(e,t)=>{const n=new Map;const i=e=>{console.log("create new context");const t=new AudioContext;const i=t.createMediaElementSource(e);const o=t.createGain();i.connect(o);o.connect(t.destination);n.set(e,o.gain);return o.gain};const o=e=>{if(n.has(e)){const t=n.get(e);t.value=1}};const r=(e,t)=>{if(n.has(e)){const i=n.get(e);let o=i.value+t;if(o<0){o=0}i.value=o;return o}else{const n=i(e);const o=n.value+t;n.value=o;return o}};const s=async()=>{const e=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/","https://www.bilibili.com/watchlater/","https://www.bilibili.com/medialist/play/"];if(e.every(e=>!document.URL.startsWith(e))){return}let i;const o=e=>{let n=dq(".volume-overdrive-tip");if(!n){const e=dq(".bilibili-player-video-wrap");if(!e){return}e.insertAdjacentHTML("afterbegin",`\n<div class="volume-overdrive-tip-container">\n<i class="mdi mdi-volume-high"></i>\n<div class="volume-overdrive-tip"></div>\n</div>\n`);t.applyStyleFromText(`\n .volume-overdrive-tip-container {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 8px 16px;\n background-color: #000A;\n color: white;\n pointer-events: none;\n opacity: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n font-size: 14pt;\n border-radius: 4px;\n transition: .2s ease-out;\n }\n .volume-overdrive-tip-container.show {\n opacity: 1;\n }\n .volume-overdrive-tip-container i {\n line-height: 1;\n margin-right: 8px;\n font-size: 18pt;\n }\n`,"volumeOverdriveStyle");n=dq(".volume-overdrive-tip")}const o=dq("video");n.innerHTML=`音量${Math.round(o.volume*100)}% x 增幅${Math.round(e*100)}% = ${Math.round(o.volume*e*100)}%`;if(i){clearTimeout(i)}dq(".volume-overdrive-tip-container").classList.add("show");i=setTimeout(()=>{dq(".volume-overdrive-tip-container").classList.remove("show")},2e3)};Observer.videoChange(async()=>{n.clear();document.body.addEventListener("keydown",e=>{const t=!e.shiftKey&&e.ctrlKey&&!e.altKey&&!e.metaKey;if(t&&(e.key==="ArrowDown"||e.key==="ArrowUp")){const t=dq("video");if(!t){return}const n=e.key==="ArrowDown"?-.1:.1;const i=r(t,n);o(i);e.preventDefault();e.stopImmediatePropagation()}},{capture:true})})};s();return{export:{setVolume:r}}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/watchlater-api.min.js"] = (()=>{return(t,i)=>{const e=async(t,i)=>{const e=i?"https://api.bilibili.com/x/v2/history/toview/add":"https://api.bilibili.com/x/v2/history/toview/del";const a=getCsrf();const s=await Ajax.postTextWithCredentials(e,`aid=${t}&csrf=${a}`);const r=JSON.parse(s);if(r.code!==0){throw new Error(`稍后再看操作失败: ${r.message}`)}};async function a(t=false){const i=`https://api.bilibili.com/x/v2/history/toview/web`;const e=await Ajax.getJsonWithCredentials(i);if(e.code!==0){throw new Error(`获取稍后再看列表失败: ${e.message}`)}if(!e.data.list){return[]}if(t){return e.data.list}return e.data.list.map(t=>t.aid)}return{export:{toggleWatchlater:e,getWatchlaterList:a}}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/watchlater-expire-warnings.min.js"] = (()=>{return(e,n)=>{(async()=>{if(!["//www.bilibili.com/watchlater/#/list"].some(e=>document.URL.includes(e))){return}const{getWatchlaterList:t}=await n.importAsync("watchlater-api");const i=await SpinQuery.select(".watch-later-list .list-box");if(i===null){return}n.applyStyleFromText(`\n .expire-warning {\n padding: 3px 25px;\n color: #F78C6C;\n display: inline-flex;\n align-items: center;\n }\n .expire-warning .mdi {\n line-height: 1;\n margin-right: 8px;\n font-size: 16px;\n }\n`,"watchlater-expire-warning-style");const r=e.watchlaterExpireWarningDays;const a=24*3600*1e3;const l=e=>{return(e-Number(new Date))/a};Observer.childListSubtree(i,async()=>{const e=[...i.querySelectorAll(".av-item .state")];const n=await t(true);e.forEach((e,t)=>{const i=n[t].add_at*1e3+60*a;const c=l(i);console.log(n[t].aid,c);if(c<r){if(e.querySelector(".expire-warning")===null){const n=-Math.floor(-c);e.insertAdjacentHTML("afterbegin",`\n<span class="expire-warning" title="到期时间: ${new Date(i).toLocaleString()}"><i class="mdi mdi-alert-circle-outline"></i>还剩${n}天过期</span>`)}}else{e.querySelectorAll(".expire-warning").forEach(e=>e.remove())}})})})()}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/watchlater.min.js"] = (()=>{return(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 a=(...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");if(!r){return}const a=r.querySelectorAll(".av-item");const c=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;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};a.forEach(c);Observer.childList(r,t=>{t.forEach(t=>{t.addedNodes.forEach(t=>{if(t instanceof Element){c(t,[...r.children].indexOf(t))}})})})})()}}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())}})})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/watchlater.min.js"] = (()=>{return(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 a=(...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 a=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;const o=t.querySelector(".av-pic");o.target="_blank";o.href=n;const h=t.querySelector(".av-about .t");h.target="_blank";h.href=n};const c=r.querySelectorAll(".av-item");c.forEach(a);Observer.attributesSubtree(r,t=>{t.forEach(t=>{if(t.target instanceof HTMLAnchorElement&&t.attributeName==="href"){const e=t.target;const i=dqa(r,".av-item");if(e.href.includes("/medialist/play/watchlater/")){const t=i.findIndex(t=>t.contains(e));if(t!==-1){a(i[t],t)}}}})})})()}}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())}})})}}})();
|
||||
|
||||
class ResourceType {
|
||||
constructor (name, preprocessor) {
|
||||
|
||||
@ -1533,7 +1533,7 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/mi
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/volume-overdrive.min.js"] = (()=>{return(e,t)=>{const n=new Map;const i=e=>{console.log("create new context");const t=new AudioContext;const i=t.createMediaElementSource(e);const o=t.createGain();i.connect(o);o.connect(t.destination);n.set(e,o.gain);return o.gain};const o=e=>{if(n.has(e)){const t=n.get(e);t.value=1}};const r=(e,t)=>{if(n.has(e)){const i=n.get(e);let o=i.value+t;if(o<0){o=0}i.value=o;return o}else{const n=i(e);const o=n.value+t;n.value=o;return o}};const s=async()=>{const e=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/","https://www.bilibili.com/watchlater/","https://www.bilibili.com/medialist/play/"];if(e.every(e=>!document.URL.startsWith(e))){return}let i;const o=e=>{let n=dq(".volume-overdrive-tip");if(!n){const e=dq(".bilibili-player-video-wrap");if(!e){return}e.insertAdjacentHTML("afterbegin",`\n<div class="volume-overdrive-tip-container">\n<i class="mdi mdi-volume-high"></i>\n<div class="volume-overdrive-tip"></div>\n</div>\n`);t.applyStyleFromText(`\n .volume-overdrive-tip-container {\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translate(-50%, -50%);\n padding: 8px 16px;\n background-color: #000A;\n color: white;\n pointer-events: none;\n opacity: 0;\n z-index: 100;\n display: flex;\n align-items: center;\n font-size: 14pt;\n border-radius: 4px;\n transition: .2s ease-out;\n }\n .volume-overdrive-tip-container.show {\n opacity: 1;\n }\n .volume-overdrive-tip-container i {\n line-height: 1;\n margin-right: 8px;\n font-size: 18pt;\n }\n`,"volumeOverdriveStyle");n=dq(".volume-overdrive-tip")}const o=dq("video");n.innerHTML=`音量${Math.round(o.volume*100)}% x 增幅${Math.round(e*100)}% = ${Math.round(o.volume*e*100)}%`;if(i){clearTimeout(i)}dq(".volume-overdrive-tip-container").classList.add("show");i=setTimeout(()=>{dq(".volume-overdrive-tip-container").classList.remove("show")},2e3)};Observer.videoChange(async()=>{n.clear();document.body.addEventListener("keydown",e=>{const t=!e.shiftKey&&e.ctrlKey&&!e.altKey&&!e.metaKey;if(t&&(e.key==="ArrowDown"||e.key==="ArrowUp")){const t=dq("video");if(!t){return}const n=e.key==="ArrowDown"?-.1:.1;const i=r(t,n);o(i);e.preventDefault();e.stopImmediatePropagation()}},{capture:true})})};s();return{export:{setVolume:r}}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater-api.min.js"] = (()=>{return(t,i)=>{const e=async(t,i)=>{const e=i?"https://api.bilibili.com/x/v2/history/toview/add":"https://api.bilibili.com/x/v2/history/toview/del";const a=getCsrf();const s=await Ajax.postTextWithCredentials(e,`aid=${t}&csrf=${a}`);const r=JSON.parse(s);if(r.code!==0){throw new Error(`稍后再看操作失败: ${r.message}`)}};async function a(t=false){const i=`https://api.bilibili.com/x/v2/history/toview/web`;const e=await Ajax.getJsonWithCredentials(i);if(e.code!==0){throw new Error(`获取稍后再看列表失败: ${e.message}`)}if(!e.data.list){return[]}if(t){return e.data.list}return e.data.list.map(t=>t.aid)}return{export:{toggleWatchlater:e,getWatchlaterList:a}}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater-expire-warnings.min.js"] = (()=>{return(e,n)=>{(async()=>{if(!["//www.bilibili.com/watchlater/#/list"].some(e=>document.URL.includes(e))){return}const{getWatchlaterList:t}=await n.importAsync("watchlater-api");const i=await SpinQuery.select(".watch-later-list .list-box");if(i===null){return}n.applyStyleFromText(`\n .expire-warning {\n padding: 3px 25px;\n color: #F78C6C;\n display: inline-flex;\n align-items: center;\n }\n .expire-warning .mdi {\n line-height: 1;\n margin-right: 8px;\n font-size: 16px;\n }\n`,"watchlater-expire-warning-style");const r=e.watchlaterExpireWarningDays;const a=24*3600*1e3;const l=e=>{return(e-Number(new Date))/a};Observer.childListSubtree(i,async()=>{const e=[...i.querySelectorAll(".av-item .state")];const n=await t(true);e.forEach((e,t)=>{const i=n[t].add_at*1e3+60*a;const c=l(i);console.log(n[t].aid,c);if(c<r){if(e.querySelector(".expire-warning")===null){const n=-Math.floor(-c);e.insertAdjacentHTML("afterbegin",`\n<span class="expire-warning" title="到期时间: ${new Date(i).toLocaleString()}"><i class="mdi mdi-alert-circle-outline"></i>还剩${n}天过期</span>`)}}else{e.querySelectorAll(".expire-warning").forEach(e=>e.remove())}})})})()}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater.min.js"] = (()=>{return(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 a=(...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");if(!r){return}const a=r.querySelectorAll(".av-item");const c=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;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};a.forEach(c);Observer.childList(r,t=>{t.forEach(t=>{t.addedNodes.forEach(t=>{if(t instanceof Element){c(t,[...r.children].indexOf(t))}})})})})()}}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())}})})}}})();
|
||||
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/watchlater.min.js"] = (()=>{return(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 a=(...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 a=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;const o=t.querySelector(".av-pic");o.target="_blank";o.href=n;const h=t.querySelector(".av-about .t");h.target="_blank";h.href=n};const c=r.querySelectorAll(".av-item");c.forEach(a);Observer.attributesSubtree(r,t=>{t.forEach(t=>{if(t.target instanceof HTMLAnchorElement&&t.attributeName==="href"){const e=t.target;const i=dqa(r,".av-item");if(e.href.includes("/medialist/play/watchlater/")){const t=i.findIndex(t=>t.contains(e));if(t!==-1){a(i[t],t)}}}})})})()}}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())}})})}}})();
|
||||
|
||||
class ResourceType {
|
||||
constructor (name, preprocessor) {
|
||||
|
||||
@ -254,5 +254,5 @@
|
||||
"volume-overdrive.min.js": "442428F9918086D86AD90966071E37298F4C726883232F627C6B6E15AAB4F6D0",
|
||||
"watchlater-api.min.js": "0A341429EFB4489594C6670A1FEEF99E7EC2564FF18BCE3A679E98101BA0F2F4",
|
||||
"watchlater-expire-warnings.min.js": "99282802EF8EB87F199BDE88240E1F196CD85C77516E8D5466EB6F1939B908DD",
|
||||
"watchlater.min.js": "417C3388866BAD80FCF6460ECABF549213D5B5BAB658DDA0BDBA4E4BA69A1BF4"
|
||||
"watchlater.min.js": "32FB48E0F0D2E0BCED5C4BF536B7290F4DEE4B252FE1E85DAAD65D950577BC87"
|
||||
}
|
||||
BIN
min/bundle.zip
BIN
min/bundle.zip
Binary file not shown.
2
min/watchlater.min.js
vendored
2
min/watchlater.min.js
vendored
@ -1 +1 @@
|
||||
(()=>{return(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 a=(...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");if(!r){return}const a=r.querySelectorAll(".av-item");const c=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;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};a.forEach(c);Observer.childList(r,t=>{t.forEach(t=>{t.addedNodes.forEach(t=>{if(t instanceof Element){c(t,[...r.children].indexOf(t))}})})})})()}}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())}})})}}})();
|
||||
(()=>{return(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 a=(...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 a=(t,e)=>{const r=i[e];const a=r.aid;const c=r.cid;const s=r.pages;const l=c===0?1:s.find(t=>t.cid===c).page;const n=l>1?`https://www.bilibili.com/video/av${a}?p=${l}`:`https://www.bilibili.com/video/av${a}`;const o=t.querySelector(".av-pic");o.target="_blank";o.href=n;const h=t.querySelector(".av-about .t");h.target="_blank";h.href=n};const c=r.querySelectorAll(".av-item");c.forEach(a);Observer.attributesSubtree(r,t=>{t.forEach(t=>{if(t.target instanceof HTMLAnchorElement&&t.attributeName==="href"){const e=t.target;const i=dqa(r,".av-item");if(e.href.includes("/medialist/play/watchlater/")){const t=i.findIndex(t=>t.contains(e));if(t!==-1){a(i[t],t)}}}})})})()}}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())}})})}}})();
|
||||
@ -56,11 +56,10 @@ if (settings.watchLaterRedirectPage) {
|
||||
(async () => {
|
||||
const { getWatchlaterList } = await import('../video/watchlater-api')
|
||||
const list = await getWatchlaterList(true)
|
||||
const listBox = await SpinQuery.select('.watch-later-list .list-box')
|
||||
const listBox = await SpinQuery.select('.watch-later-list .list-box > span')
|
||||
if (!listBox) {
|
||||
return
|
||||
}
|
||||
const avItems = listBox.querySelectorAll('.av-item')
|
||||
const redirect = (item: Element, index: number) => {
|
||||
const watchlaterItem = list[index]
|
||||
const aid = watchlaterItem.aid
|
||||
@ -75,14 +74,20 @@ if (settings.watchLaterRedirectPage) {
|
||||
title.target = '_blank'
|
||||
title.href = url
|
||||
}
|
||||
const avItems = listBox.querySelectorAll('.av-item')
|
||||
avItems.forEach(redirect)
|
||||
Observer.childList(listBox, records => {
|
||||
Observer.attributesSubtree(listBox, records => {
|
||||
records.forEach(record => {
|
||||
record.addedNodes.forEach(n => {
|
||||
if (n instanceof Element) {
|
||||
redirect(n, [...listBox.children].indexOf(n))
|
||||
if (record.target instanceof HTMLAnchorElement && record.attributeName === 'href') {
|
||||
const a = record.target
|
||||
const items = dqa(listBox, '.av-item')
|
||||
if (a.href.includes('/medialist/play/watchlater/')) {
|
||||
const index = items.findIndex(it => it.contains(a))
|
||||
if (index !== -1) {
|
||||
redirect(items[index], index)
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
})()
|
||||
|
||||
Loading…
Reference in New Issue
Block a user