Fix vote popup

This commit is contained in:
the1812 2020-06-07 18:32:38 +08:00
parent 061d246596
commit 672a6b557a
8 changed files with 11 additions and 8 deletions

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved (Offline)
// @version 691.95
// @version 692.11
// @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中.
// @author Grant Howard, Coulomb-G
// @copyright 2020, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
@ -1328,7 +1328,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-player-mode.min.js"] = (()=>{return(e,i)=>{if(typeof isEmbeddedPlayer!=="undefined"&&isEmbeddedPlayer()){return}const t=[{name:"常规",action:()=>{}},{name:"宽屏",action:()=>{document.querySelector(".bilibili-player-video-btn-widescreen").click()}},{name:"网页全屏",action:()=>{document.querySelector(".bilibili-player-video-web-fullscreen").click()}},{name:"全屏",action:async()=>{const e=await SpinQuery.condition(()=>document.querySelector(".bilibili-player-video video"),e=>{return e!==null&&e.readyState===4&&document.readyState==="complete"&&document.hasFocus()});if(e===null){console.warn("[默认播放器模式] 未能应用全屏模式, 等待超时.");return}document.querySelector(".bilibili-player-video-btn-fullscreen").click()}}];let n=()=>{};let l=()=>{};async function a(){if(e.autoLightOff){await SpinQuery.unsafeJquery();const e=await SpinQuery.any(()=>unsafeWindow.$(".bilibili-player-video-btn-setting"));if(!e){return}e.mouseover().mouseout();const i=async e=>{const i=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-btn-setting-panel-others-content-lightoff .bui-checkbox-input"));i.checked=e;raiseEvent(i,"change")};n=(()=>i(true));l=(()=>i(false))}}async function o(){await a();await SpinQuery.condition(()=>$(".bilibili-player-video,.bilibili-player-video-btn-start,.bilibili-player-area"),e=>e.length===3&&$("video").length>0&&$("video").prop("duration"));const i=document.querySelector("video");if(!i){return}const o=t.find(i=>i.name===e.defaultPlayerMode);{const t=()=>{if(o&&$("#bilibiliPlayer[class*=mode-]").length===0){o.action()}};const a=_.get(JSON.parse(localStorage.getItem("bilibili_player_settings")),"video_status.autoplay",false);if(e.applyPlayerModeOnPlay&&!a){i.addEventListener("play",t,{once:true})}else{t()}if(!a){i.addEventListener("play",n,{once:true})}else{n()}i.addEventListener("ended",l,{once:true})}}Observer.videoChange(o)}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-quality.min.js"] = (()=>{return(e,a)=>{const t=[{name:"4K",value:120},{name:"1080P60",value:116},{name:"1080P+",value:112},{name:"1080P",value:80},{name:"720P60",value:74},{name:"720P",value:64},{name:"480P",value:32},{name:"360P",value:15},{name:"自动",value:0}];async function n(){const a=".bilibili-player-video-quality-menu .bui-select-list>li.bui-select-item";await SpinQuery.select(a);const n=dqa(a);if(!n){return}const[i]=n.map(e=>parseInt(e.getAttribute("data-value"))).sort(descendingSort(e=>e));const[l]=t.filter(a=>a.name===e.defaultVideoQuality).map(e=>e.value).sort(descendingSort(e=>e));const[u]=t.map(e=>e.value).filter(e=>e<=Math.min(l,i)).sort(descendingSort(e=>e));const r=await SpinQuery.select("video");function s(){n.forEach(e=>{if(parseInt(e.getAttribute("data-value"))===u){e.click()}});this.removeEventListener("play",s)}r.addEventListener("play",s)}Observer.videoChange(n)}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-speed.min.js"] = (()=>{return(e,a)=>{const i=a=>{const i=parseFloat(e.defaultVideoSpeed);a.playbackRate=i;SpinQuery.condition(()=>a,()=>a.playbackRate!==i,()=>a.playbackRate=i)};Observer.videoChange(async()=>{const e=await SpinQuery.select(".bilibili-player-video video");i(e)})}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/disable-feeds-details.min.js"] = (()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/disable-feeds-details.min.js"] = (()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(n.hasAttribute("click-title")){return}if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/disable-profile-popup.min.js"] = (()=>{return(e,t)=>{let i=false;const r=()=>{if(document.URL.replace(location.search,"")==="https://t.bilibili.com/"){if(i){return}(async()=>{const t=await SpinQuery.select(".live-up-list");if(t!==null){t.addEventListener("mouseenter",t=>{if(e.fixedSidebars||e.extendFeedsLive){t.stopImmediatePropagation()}},{capture:true});i=true}})()}};return{export:{disableProfilePopup:r}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/double-click-fullscreen.min.js"] = (()=>{return(i,e)=>{const l=()=>{const e=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/"];if(!e.some(i=>document.URL.startsWith(i))){return}if(i.touchVideoPlayer&&i.touchVideoPlayerDoubleTapControl){Toast.info("在开启了<span>播放器触摸支持-启用双击控制</span>后, <span>双击全屏</span>功能将无效.","提示");i.doubleClickFullscreen=false;return}Observer.videoChange(async()=>{await SpinQuery.unsafeJquery();const e=await SpinQuery.condition(()=>dq(".bilibili-player-area"),i=>i!==null&&unsafeWindow.$(".bilibili-player-video").data("events"));if(e===null){return}const l="double-click-fullscreen";if(!e.classList.contains(l)){e.classList.add(l);const n=unsafeWindow.$(".bilibili-player-video");const s=i.doubleClickFullscreenPreventSingleClick?n.data("events").click[0].handler:()=>{};const t=new DoubleClickEvent(()=>dq(".bilibili-player-video-btn-fullscreen").click(),i=>s(i));if(i.doubleClickFullscreenPreventSingleClick){n.unbind("click")}t.bind(n[0])}})};l()}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-audio.min.js"] = (()=>{return(e,t)=>{class n{constructor(){this.sid=null;this.progress=null}async getDownloadUrl(){const e=`https://www.bilibili.com/audio/music-service-c/web/url?sid=${this.sid}&privilege=2&quality=2`;const t=await Ajax.getJsonWithCredentials(e);if(t.code===0){return t.data.cdns.shift()}else{logError("获取下载链接失败, 请确保当前账号有下载权限.","下载音频",1e4);return null}}async download(){const e=await this.getDownloadUrl();return new Promise((t,n)=>{const s=new XMLHttpRequest;s.open("GET",e);s.responseType="blob";s.addEventListener("load",()=>t(s.response));s.addEventListener("error",()=>n(s.status));s.addEventListener("progress",e=>this.progress&&this.progress(100*e.loaded/e.total));s.send()})}}const s="下载音频";return{export:n,widget:{content:`\n<button\n disabled\n class="gui-settings-flat-button"\n id="download-audio">\n<i class="icon-download"></i>\n<span>${s}</span>\n<a id="download-audio-link" style="display: none"></a>\n</button>`,condition:()=>document.URL.includes("bilibili.com/audio"),success:async()=>{await SpinQuery.select(()=>document.querySelector("#app"));const e=document.querySelector("#download-audio");const t=e.querySelector("span");const o=new n;o.progress=(e=>{t.innerHTML=`${Math.round(e)}%`});const i=document.querySelector("#download-audio-link");e.addEventListener("click",async e=>{if(o.sid===null||e.target===i){return}const n=await o.download();t.innerHTML=s;const r=i.getAttribute("href");if(r){URL.revokeObjectURL(r)}i.setAttribute("href",URL.createObjectURL(n));const d=(()=>{const e=document.querySelector(".song-title");if(e){return e.getAttribute("title")}else{return"神秘音频"}})();i.setAttribute("download",d+".m4a");i.click()});Observer.childList("#app",()=>{const t=document.URL.match(/bilibili\.com\/audio\/au([\d]+)/);if(t&&t[1]){e.disabled=false;o.sid=t[1]}else{e.disabled=true}})}}}}})();

View File

@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved (Preview Offline)
// @version 691.95
// @version 692.11
// @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中.
// @author Grant Howard, Coulomb-G
// @copyright 2020, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G)
@ -1328,7 +1328,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-player-mode.min.js"] = (()=>{return(e,i)=>{if(typeof isEmbeddedPlayer!=="undefined"&&isEmbeddedPlayer()){return}const t=[{name:"常规",action:()=>{}},{name:"宽屏",action:()=>{document.querySelector(".bilibili-player-video-btn-widescreen").click()}},{name:"网页全屏",action:()=>{document.querySelector(".bilibili-player-video-web-fullscreen").click()}},{name:"全屏",action:async()=>{const e=await SpinQuery.condition(()=>document.querySelector(".bilibili-player-video video"),e=>{return e!==null&&e.readyState===4&&document.readyState==="complete"&&document.hasFocus()});if(e===null){console.warn("[默认播放器模式] 未能应用全屏模式, 等待超时.");return}document.querySelector(".bilibili-player-video-btn-fullscreen").click()}}];let n=()=>{};let l=()=>{};async function a(){if(e.autoLightOff){await SpinQuery.unsafeJquery();const e=await SpinQuery.any(()=>unsafeWindow.$(".bilibili-player-video-btn-setting"));if(!e){return}e.mouseover().mouseout();const i=async e=>{const i=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-btn-setting-panel-others-content-lightoff .bui-checkbox-input"));i.checked=e;raiseEvent(i,"change")};n=(()=>i(true));l=(()=>i(false))}}async function o(){await a();await SpinQuery.condition(()=>$(".bilibili-player-video,.bilibili-player-video-btn-start,.bilibili-player-area"),e=>e.length===3&&$("video").length>0&&$("video").prop("duration"));const i=document.querySelector("video");if(!i){return}const o=t.find(i=>i.name===e.defaultPlayerMode);{const t=()=>{if(o&&$("#bilibiliPlayer[class*=mode-]").length===0){o.action()}};const a=_.get(JSON.parse(localStorage.getItem("bilibili_player_settings")),"video_status.autoplay",false);if(e.applyPlayerModeOnPlay&&!a){i.addEventListener("play",t,{once:true})}else{t()}if(!a){i.addEventListener("play",n,{once:true})}else{n()}i.addEventListener("ended",l,{once:true})}}Observer.videoChange(o)}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-quality.min.js"] = (()=>{return(e,a)=>{const t=[{name:"4K",value:120},{name:"1080P60",value:116},{name:"1080P+",value:112},{name:"1080P",value:80},{name:"720P60",value:74},{name:"720P",value:64},{name:"480P",value:32},{name:"360P",value:15},{name:"自动",value:0}];async function n(){const a=".bilibili-player-video-quality-menu .bui-select-list>li.bui-select-item";await SpinQuery.select(a);const n=dqa(a);if(!n){return}const[i]=n.map(e=>parseInt(e.getAttribute("data-value"))).sort(descendingSort(e=>e));const[l]=t.filter(a=>a.name===e.defaultVideoQuality).map(e=>e.value).sort(descendingSort(e=>e));const[u]=t.map(e=>e.value).filter(e=>e<=Math.min(l,i)).sort(descendingSort(e=>e));const r=await SpinQuery.select("video");function s(){n.forEach(e=>{if(parseInt(e.getAttribute("data-value"))===u){e.click()}});this.removeEventListener("play",s)}r.addEventListener("play",s)}Observer.videoChange(n)}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-speed.min.js"] = (()=>{return(e,a)=>{const i=a=>{const i=parseFloat(e.defaultVideoSpeed);a.playbackRate=i;SpinQuery.condition(()=>a,()=>a.playbackRate!==i,()=>a.playbackRate=i)};Observer.videoChange(async()=>{const e=await SpinQuery.select(".bilibili-player-video video");i(e)})}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/disable-feeds-details.min.js"] = (()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/disable-feeds-details.min.js"] = (()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(n.hasAttribute("click-title")){return}if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/disable-profile-popup.min.js"] = (()=>{return(e,t)=>{let i=false;const r=()=>{if(document.URL.replace(location.search,"")==="https://t.bilibili.com/"){if(i){return}(async()=>{const t=await SpinQuery.select(".live-up-list");if(t!==null){t.addEventListener("mouseenter",t=>{if(e.fixedSidebars||e.extendFeedsLive){t.stopImmediatePropagation()}},{capture:true});i=true}})()}};return{export:{disableProfilePopup:r}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/double-click-fullscreen.min.js"] = (()=>{return(i,e)=>{const l=()=>{const e=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/"];if(!e.some(i=>document.URL.startsWith(i))){return}if(i.touchVideoPlayer&&i.touchVideoPlayerDoubleTapControl){Toast.info("在开启了<span>播放器触摸支持-启用双击控制</span>后, <span>双击全屏</span>功能将无效.","提示");i.doubleClickFullscreen=false;return}Observer.videoChange(async()=>{await SpinQuery.unsafeJquery();const e=await SpinQuery.condition(()=>dq(".bilibili-player-area"),i=>i!==null&&unsafeWindow.$(".bilibili-player-video").data("events"));if(e===null){return}const l="double-click-fullscreen";if(!e.classList.contains(l)){e.classList.add(l);const n=unsafeWindow.$(".bilibili-player-video");const s=i.doubleClickFullscreenPreventSingleClick?n.data("events").click[0].handler:()=>{};const t=new DoubleClickEvent(()=>dq(".bilibili-player-video-btn-fullscreen").click(),i=>s(i));if(i.doubleClickFullscreenPreventSingleClick){n.unbind("click")}t.bind(n[0])}})};l()}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-audio.min.js"] = (()=>{return(e,t)=>{class n{constructor(){this.sid=null;this.progress=null}async getDownloadUrl(){const e=`https://www.bilibili.com/audio/music-service-c/web/url?sid=${this.sid}&privilege=2&quality=2`;const t=await Ajax.getJsonWithCredentials(e);if(t.code===0){return t.data.cdns.shift()}else{logError("获取下载链接失败, 请确保当前账号有下载权限.","下载音频",1e4);return null}}async download(){const e=await this.getDownloadUrl();return new Promise((t,n)=>{const s=new XMLHttpRequest;s.open("GET",e);s.responseType="blob";s.addEventListener("load",()=>t(s.response));s.addEventListener("error",()=>n(s.status));s.addEventListener("progress",e=>this.progress&&this.progress(100*e.loaded/e.total));s.send()})}}const s="下载音频";return{export:n,widget:{content:`\n<button\n disabled\n class="gui-settings-flat-button"\n id="download-audio">\n<i class="icon-download"></i>\n<span>${s}</span>\n<a id="download-audio-link" style="display: none"></a>\n</button>`,condition:()=>document.URL.includes("bilibili.com/audio"),success:async()=>{await SpinQuery.select(()=>document.querySelector("#app"));const e=document.querySelector("#download-audio");const t=e.querySelector("span");const o=new n;o.progress=(e=>{t.innerHTML=`${Math.round(e)}%`});const i=document.querySelector("#download-audio-link");e.addEventListener("click",async e=>{if(o.sid===null||e.target===i){return}const n=await o.download();t.innerHTML=s;const r=i.getAttribute("href");if(r){URL.revokeObjectURL(r)}i.setAttribute("href",URL.createObjectURL(n));const d=(()=>{const e=document.querySelector(".song-title");if(e){return e.getAttribute("title")}else{return"神秘音频"}})();i.setAttribute("download",d+".m4a");i.click()});Observer.childList("#app",()=>{const t=document.URL.match(/bilibili\.com\/audio\/au([\d]+)/);if(t&&t[1]){e.disabled=false;o.sid=t[1]}else{e.disabled=true}})}}}}})();

View File

@ -1327,7 +1327,7 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/m
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/default-player-mode.min.js"] = (()=>{return(e,i)=>{if(typeof isEmbeddedPlayer!=="undefined"&&isEmbeddedPlayer()){return}const t=[{name:"常规",action:()=>{}},{name:"宽屏",action:()=>{document.querySelector(".bilibili-player-video-btn-widescreen").click()}},{name:"网页全屏",action:()=>{document.querySelector(".bilibili-player-video-web-fullscreen").click()}},{name:"全屏",action:async()=>{const e=await SpinQuery.condition(()=>document.querySelector(".bilibili-player-video video"),e=>{return e!==null&&e.readyState===4&&document.readyState==="complete"&&document.hasFocus()});if(e===null){console.warn("[默认播放器模式] 未能应用全屏模式, 等待超时.");return}document.querySelector(".bilibili-player-video-btn-fullscreen").click()}}];let n=()=>{};let l=()=>{};async function a(){if(e.autoLightOff){await SpinQuery.unsafeJquery();const e=await SpinQuery.any(()=>unsafeWindow.$(".bilibili-player-video-btn-setting"));if(!e){return}e.mouseover().mouseout();const i=async e=>{const i=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-btn-setting-panel-others-content-lightoff .bui-checkbox-input"));i.checked=e;raiseEvent(i,"change")};n=(()=>i(true));l=(()=>i(false))}}async function o(){await a();await SpinQuery.condition(()=>$(".bilibili-player-video,.bilibili-player-video-btn-start,.bilibili-player-area"),e=>e.length===3&&$("video").length>0&&$("video").prop("duration"));const i=document.querySelector("video");if(!i){return}const o=t.find(i=>i.name===e.defaultPlayerMode);{const t=()=>{if(o&&$("#bilibiliPlayer[class*=mode-]").length===0){o.action()}};const a=_.get(JSON.parse(localStorage.getItem("bilibili_player_settings")),"video_status.autoplay",false);if(e.applyPlayerModeOnPlay&&!a){i.addEventListener("play",t,{once:true})}else{t()}if(!a){i.addEventListener("play",n,{once:true})}else{n()}i.addEventListener("ended",l,{once:true})}}Observer.videoChange(o)}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/default-video-quality.min.js"] = (()=>{return(e,a)=>{const t=[{name:"4K",value:120},{name:"1080P60",value:116},{name:"1080P+",value:112},{name:"1080P",value:80},{name:"720P60",value:74},{name:"720P",value:64},{name:"480P",value:32},{name:"360P",value:15},{name:"自动",value:0}];async function n(){const a=".bilibili-player-video-quality-menu .bui-select-list>li.bui-select-item";await SpinQuery.select(a);const n=dqa(a);if(!n){return}const[i]=n.map(e=>parseInt(e.getAttribute("data-value"))).sort(descendingSort(e=>e));const[l]=t.filter(a=>a.name===e.defaultVideoQuality).map(e=>e.value).sort(descendingSort(e=>e));const[u]=t.map(e=>e.value).filter(e=>e<=Math.min(l,i)).sort(descendingSort(e=>e));const r=await SpinQuery.select("video");function s(){n.forEach(e=>{if(parseInt(e.getAttribute("data-value"))===u){e.click()}});this.removeEventListener("play",s)}r.addEventListener("play",s)}Observer.videoChange(n)}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/default-video-speed.min.js"] = (()=>{return(e,a)=>{const i=a=>{const i=parseFloat(e.defaultVideoSpeed);a.playbackRate=i;SpinQuery.condition(()=>a,()=>a.playbackRate!==i,()=>a.playbackRate=i)};Observer.videoChange(async()=>{const e=await SpinQuery.select(".bilibili-player-video video");i(e)})}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/disable-feeds-details.min.js"] = (()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/disable-feeds-details.min.js"] = (()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(n.hasAttribute("click-title")){return}if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/disable-profile-popup.min.js"] = (()=>{return(e,t)=>{let i=false;const r=()=>{if(document.URL.replace(location.search,"")==="https://t.bilibili.com/"){if(i){return}(async()=>{const t=await SpinQuery.select(".live-up-list");if(t!==null){t.addEventListener("mouseenter",t=>{if(e.fixedSidebars||e.extendFeedsLive){t.stopImmediatePropagation()}},{capture:true});i=true}})()}};return{export:{disableProfilePopup:r}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/double-click-fullscreen.min.js"] = (()=>{return(i,e)=>{const l=()=>{const e=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/"];if(!e.some(i=>document.URL.startsWith(i))){return}if(i.touchVideoPlayer&&i.touchVideoPlayerDoubleTapControl){Toast.info("在开启了<span>播放器触摸支持-启用双击控制</span>后, <span>双击全屏</span>功能将无效.","提示");i.doubleClickFullscreen=false;return}Observer.videoChange(async()=>{await SpinQuery.unsafeJquery();const e=await SpinQuery.condition(()=>dq(".bilibili-player-area"),i=>i!==null&&unsafeWindow.$(".bilibili-player-video").data("events"));if(e===null){return}const l="double-click-fullscreen";if(!e.classList.contains(l)){e.classList.add(l);const n=unsafeWindow.$(".bilibili-player-video");const s=i.doubleClickFullscreenPreventSingleClick?n.data("events").click[0].handler:()=>{};const t=new DoubleClickEvent(()=>dq(".bilibili-player-video-btn-fullscreen").click(),i=>s(i));if(i.doubleClickFullscreenPreventSingleClick){n.unbind("click")}t.bind(n[0])}})};l()}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/preview/min/download-audio.min.js"] = (()=>{return(e,t)=>{class n{constructor(){this.sid=null;this.progress=null}async getDownloadUrl(){const e=`https://www.bilibili.com/audio/music-service-c/web/url?sid=${this.sid}&privilege=2&quality=2`;const t=await Ajax.getJsonWithCredentials(e);if(t.code===0){return t.data.cdns.shift()}else{logError("获取下载链接失败, 请确保当前账号有下载权限.","下载音频",1e4);return null}}async download(){const e=await this.getDownloadUrl();return new Promise((t,n)=>{const s=new XMLHttpRequest;s.open("GET",e);s.responseType="blob";s.addEventListener("load",()=>t(s.response));s.addEventListener("error",()=>n(s.status));s.addEventListener("progress",e=>this.progress&&this.progress(100*e.loaded/e.total));s.send()})}}const s="下载音频";return{export:n,widget:{content:`\n<button\n disabled\n class="gui-settings-flat-button"\n id="download-audio">\n<i class="icon-download"></i>\n<span>${s}</span>\n<a id="download-audio-link" style="display: none"></a>\n</button>`,condition:()=>document.URL.includes("bilibili.com/audio"),success:async()=>{await SpinQuery.select(()=>document.querySelector("#app"));const e=document.querySelector("#download-audio");const t=e.querySelector("span");const o=new n;o.progress=(e=>{t.innerHTML=`${Math.round(e)}%`});const i=document.querySelector("#download-audio-link");e.addEventListener("click",async e=>{if(o.sid===null||e.target===i){return}const n=await o.download();t.innerHTML=s;const r=i.getAttribute("href");if(r){URL.revokeObjectURL(r)}i.setAttribute("href",URL.createObjectURL(n));const d=(()=>{const e=document.querySelector(".song-title");if(e){return e.getAttribute("title")}else{return"神秘音频"}})();i.setAttribute("download",d+".m4a");i.click()});Observer.childList("#app",()=>{const t=document.URL.match(/bilibili\.com\/audio\/au([\d]+)/);if(t&&t[1]){e.disabled=false;o.sid=t[1]}else{e.disabled=true}})}}}}})();

View File

@ -1327,7 +1327,7 @@ onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/mi
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-player-mode.min.js"] = (()=>{return(e,i)=>{if(typeof isEmbeddedPlayer!=="undefined"&&isEmbeddedPlayer()){return}const t=[{name:"常规",action:()=>{}},{name:"宽屏",action:()=>{document.querySelector(".bilibili-player-video-btn-widescreen").click()}},{name:"网页全屏",action:()=>{document.querySelector(".bilibili-player-video-web-fullscreen").click()}},{name:"全屏",action:async()=>{const e=await SpinQuery.condition(()=>document.querySelector(".bilibili-player-video video"),e=>{return e!==null&&e.readyState===4&&document.readyState==="complete"&&document.hasFocus()});if(e===null){console.warn("[默认播放器模式] 未能应用全屏模式, 等待超时.");return}document.querySelector(".bilibili-player-video-btn-fullscreen").click()}}];let n=()=>{};let l=()=>{};async function a(){if(e.autoLightOff){await SpinQuery.unsafeJquery();const e=await SpinQuery.any(()=>unsafeWindow.$(".bilibili-player-video-btn-setting"));if(!e){return}e.mouseover().mouseout();const i=async e=>{const i=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-btn-setting-panel-others-content-lightoff .bui-checkbox-input"));i.checked=e;raiseEvent(i,"change")};n=(()=>i(true));l=(()=>i(false))}}async function o(){await a();await SpinQuery.condition(()=>$(".bilibili-player-video,.bilibili-player-video-btn-start,.bilibili-player-area"),e=>e.length===3&&$("video").length>0&&$("video").prop("duration"));const i=document.querySelector("video");if(!i){return}const o=t.find(i=>i.name===e.defaultPlayerMode);{const t=()=>{if(o&&$("#bilibiliPlayer[class*=mode-]").length===0){o.action()}};const a=_.get(JSON.parse(localStorage.getItem("bilibili_player_settings")),"video_status.autoplay",false);if(e.applyPlayerModeOnPlay&&!a){i.addEventListener("play",t,{once:true})}else{t()}if(!a){i.addEventListener("play",n,{once:true})}else{n()}i.addEventListener("ended",l,{once:true})}}Observer.videoChange(o)}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-quality.min.js"] = (()=>{return(e,a)=>{const t=[{name:"4K",value:120},{name:"1080P60",value:116},{name:"1080P+",value:112},{name:"1080P",value:80},{name:"720P60",value:74},{name:"720P",value:64},{name:"480P",value:32},{name:"360P",value:15},{name:"自动",value:0}];async function n(){const a=".bilibili-player-video-quality-menu .bui-select-list>li.bui-select-item";await SpinQuery.select(a);const n=dqa(a);if(!n){return}const[i]=n.map(e=>parseInt(e.getAttribute("data-value"))).sort(descendingSort(e=>e));const[l]=t.filter(a=>a.name===e.defaultVideoQuality).map(e=>e.value).sort(descendingSort(e=>e));const[u]=t.map(e=>e.value).filter(e=>e<=Math.min(l,i)).sort(descendingSort(e=>e));const r=await SpinQuery.select("video");function s(){n.forEach(e=>{if(parseInt(e.getAttribute("data-value"))===u){e.click()}});this.removeEventListener("play",s)}r.addEventListener("play",s)}Observer.videoChange(n)}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-speed.min.js"] = (()=>{return(e,a)=>{const i=a=>{const i=parseFloat(e.defaultVideoSpeed);a.playbackRate=i;SpinQuery.condition(()=>a,()=>a.playbackRate!==i,()=>a.playbackRate=i)};Observer.videoChange(async()=>{const e=await SpinQuery.select(".bilibili-player-video video");i(e)})}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/disable-feeds-details.min.js"] = (()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/disable-feeds-details.min.js"] = (()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(n.hasAttribute("click-title")){return}if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/disable-profile-popup.min.js"] = (()=>{return(e,t)=>{let i=false;const r=()=>{if(document.URL.replace(location.search,"")==="https://t.bilibili.com/"){if(i){return}(async()=>{const t=await SpinQuery.select(".live-up-list");if(t!==null){t.addEventListener("mouseenter",t=>{if(e.fixedSidebars||e.extendFeedsLive){t.stopImmediatePropagation()}},{capture:true});i=true}})()}};return{export:{disableProfilePopup:r}}}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/double-click-fullscreen.min.js"] = (()=>{return(i,e)=>{const l=()=>{const e=["https://www.bilibili.com/bangumi/","https://www.bilibili.com/video/"];if(!e.some(i=>document.URL.startsWith(i))){return}if(i.touchVideoPlayer&&i.touchVideoPlayerDoubleTapControl){Toast.info("在开启了<span>播放器触摸支持-启用双击控制</span>后, <span>双击全屏</span>功能将无效.","提示");i.doubleClickFullscreen=false;return}Observer.videoChange(async()=>{await SpinQuery.unsafeJquery();const e=await SpinQuery.condition(()=>dq(".bilibili-player-area"),i=>i!==null&&unsafeWindow.$(".bilibili-player-video").data("events"));if(e===null){return}const l="double-click-fullscreen";if(!e.classList.contains(l)){e.classList.add(l);const n=unsafeWindow.$(".bilibili-player-video");const s=i.doubleClickFullscreenPreventSingleClick?n.data("events").click[0].handler:()=>{};const t=new DoubleClickEvent(()=>dq(".bilibili-player-video-btn-fullscreen").click(),i=>s(i));if(i.doubleClickFullscreenPreventSingleClick){n.unbind("click")}t.bind(n[0])}})};l()}})();
onlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-audio.min.js"] = (()=>{return(e,t)=>{class n{constructor(){this.sid=null;this.progress=null}async getDownloadUrl(){const e=`https://www.bilibili.com/audio/music-service-c/web/url?sid=${this.sid}&privilege=2&quality=2`;const t=await Ajax.getJsonWithCredentials(e);if(t.code===0){return t.data.cdns.shift()}else{logError("获取下载链接失败, 请确保当前账号有下载权限.","下载音频",1e4);return null}}async download(){const e=await this.getDownloadUrl();return new Promise((t,n)=>{const s=new XMLHttpRequest;s.open("GET",e);s.responseType="blob";s.addEventListener("load",()=>t(s.response));s.addEventListener("error",()=>n(s.status));s.addEventListener("progress",e=>this.progress&&this.progress(100*e.loaded/e.total));s.send()})}}const s="下载音频";return{export:n,widget:{content:`\n<button\n disabled\n class="gui-settings-flat-button"\n id="download-audio">\n<i class="icon-download"></i>\n<span>${s}</span>\n<a id="download-audio-link" style="display: none"></a>\n</button>`,condition:()=>document.URL.includes("bilibili.com/audio"),success:async()=>{await SpinQuery.select(()=>document.querySelector("#app"));const e=document.querySelector("#download-audio");const t=e.querySelector("span");const o=new n;o.progress=(e=>{t.innerHTML=`${Math.round(e)}%`});const i=document.querySelector("#download-audio-link");e.addEventListener("click",async e=>{if(o.sid===null||e.target===i){return}const n=await o.download();t.innerHTML=s;const r=i.getAttribute("href");if(r){URL.revokeObjectURL(r)}i.setAttribute("href",URL.createObjectURL(n));const d=(()=>{const e=document.querySelector(".song-title");if(e){return e.getAttribute("title")}else{return"神秘音频"}})();i.setAttribute("download",d+".m4a");i.click()});Observer.childList("#app",()=>{const t=document.URL.match(/bilibili\.com\/audio\/au([\d]+)/);if(t&&t[1]){e.disabled=false;o.sid=t[1]}else{e.disabled=true}})}}}}})();

View File

@ -72,7 +72,7 @@
"default-player-mode.min.js": "AF51F03AD53506A3324EFFCDA6E060F18A06D6FF4A0E8B40C2A82E507699C566",
"default-video-quality.min.js": "A24225E0F72D5BCA7DFE529E5B90B03F494C8720ADEF91D466A923FD767EB907",
"default-video-speed.min.js": "EBBF43D8013E32AC13C3E9396480574DDC549BA8BC7CCF15FE4EEF2DFEF64F33",
"disable-feeds-details.min.js": "80E3CA45EA6FBF2FDD00335541273B0E7F0CD0ABF4CEC7B0CA17A15E606E0EF1",
"disable-feeds-details.min.js": "2633B97D265BAFD8D4939C346C000DF1D26A939B90DECF849CE605C7BEB3117A",
"disable-profile-popup.min.js": "69901EC9A3D15D585F61B1370DC69003CE5869499CAC9C57A03B24511F338A2D",
"double-click-fullscreen.min.js": "C6D95B92ECDE67F2C0A3C6B6E4DC655C524F6A98CE0D48733ADCE4ABA780A47B",
"download-audio.min.js": "1F4536DE4FF302BFD026CA17E028AF8EB037FB6D0CB355692549DECAEAE0E8C9",

Binary file not shown.

View File

@ -1 +1 @@
(()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();
(()=>{return(t,e)=>{let a=true;const r="disable-feeds-details-style";const n=()=>e.applyImportantStyleFromText(".feed-card .card .content { cursor: text }",r);const s=document.URL.replace(location.search,"");const c=s==="https://t.bilibili.com/"||s.startsWith("https://space.bilibili.com/");(async()=>{if(!c){return}n();const{feedsCardsManager:t}=await e.importAsync("feeds-apis");const r=await t.startWatching();if(!r){console.error("feedsCardsManager.startWatching() failed");return}const s=t=>{const e=t.element;e.addEventListener("click",t=>{if(t.ctrlKey||!a){return}const r=dqa(e,".content");const n=t.target;if(n.hasAttribute("click-title")){return}if(r.some(t=>t===n||t.contains(n))){t.stopImmediatePropagation()}},{capture:true})};t.cards.forEach(s);t.addEventListener("addCard",t=>{const e=t.detail;s(e)})})();return{reload:()=>{if(c){n();a=true}},unload:()=>{if(c){const t=document.getElementById(r);t&&t.remove();a=false}}}}})();

View File

@ -27,6 +27,9 @@ const enable = url === 'https://t.bilibili.com/' ||
}
const contents = dqa(element, '.content')
const target = e.target as HTMLElement
if (target.hasAttribute('click-title')) {
return
}
if (contents.some(c => c === target || c.contains(target))) {
e.stopImmediatePropagation()
}