From f9d4c2f5e27b61fbfd875a7d0b852f51201ab45f Mon Sep 17 00:00:00 2001 From: the1812 Date: Thu, 4 Jul 2019 11:28:05 +0800 Subject: [PATCH] Recover show dead video title --- @types/global/index.d.ts | 1 + bilibili-evolved.offline.user.js | 18 ++++++++++++------ bilibili-evolved.preview-offline.user.js | 18 ++++++++++++------ bilibili-evolved.preview.user.js | 10 ++++++++-- bilibili-evolved.user.js | 10 ++++++++-- client/resource-manifest.js | 9 +++++++-- client/settings.js | 1 + min/gui-settings.min.html | 2 +- min/show-dead-video-title.min.js | 2 +- min/text-validate.min.js | 2 +- utils/gui-settings/gui-settings.html | 5 +++-- utils/gui-settings/text-validate.js | 1 + utils/show-dead-video-title.js | 2 +- utils/show-dead-video-title.ts | 3 ++- 14 files changed, 59 insertions(+), 25 deletions(-) diff --git a/@types/global/index.d.ts b/@types/global/index.d.ts index 9629312f5..2de2510f0 100644 --- a/@types/global/index.d.ts +++ b/@types/global/index.d.ts @@ -227,6 +227,7 @@ declare global allowJumpContinue: boolean, autoPlay: boolean, showDeadVideoTitle: boolean, + deadVideoTitleProvider: '稍后再看' | 'Biliplus', useBiliplusRedirect: boolean, biliplusRedirect: boolean, framePlayback: boolean, diff --git a/bilibili-evolved.offline.user.js b/bilibili-evolved.offline.user.js index 09faad2fd..ac0a52ccc 100644 --- a/bilibili-evolved.offline.user.js +++ b/bilibili-evolved.offline.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Bilibili Evolved (Offline) -// @version 352.81 +// @version 352.82 // @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中. // @author Grant Howard, Coulomb-G // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) @@ -195,6 +195,7 @@ const settings = { allowJumpContinue: false, autoPlay: false, showDeadVideoTitle: false, + deadVideoTitleProvider: '稍后再看', useBiliplusRedirect: false, biliplusRedirect: false, framePlayback: true, @@ -1058,7 +1059,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/full-tweets-title.min.css"] = `.dynamic-m .info{height:auto!important}.dynamic-m .info a{white-space:normal!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/full-tweets-title.min.js"] = (()=>{return(e,l)=>{l.applyStyle("fullTweetsTitleStyle")}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.css"] = `.gui-settings-icon-panel{height:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;top:calc(50% + var(--side-bar-offset));left:0;width:32px;z-index:99999;transform:translateY(-50%);user-select:none}.gui-settings-icon-panel i{transition:.2s;opacity:.6;transform:rotate(180deg);font-size:12px}.gui-settings-widgets:hover i,.gui-settings:hover i{opacity:.75;transform:rotate(0)}.gui-settings,.gui-settings-widgets{display:flex;justify-content:center;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;margin:16px 0;width:24px;height:24px;transition:.2s;opacity:1;transform-origin:center!important;transform:translateX(-16px);background-color:rgba(255,255,255,.75);border-radius:0 50% 50% 0;padding:6px}body.dark .gui-settings,body.dark .gui-settings-widgets{background-color:rgba(0,0,0,.75)}.gui-settings-widgets:hover,.gui-settings:hover{opacity:1;transform:translateX(0)}.gui-settings-footer,.gui-settings-header{flex-grow:0;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;z-index:10;padding:32px}.gui-settings-footer{height:80px;justify-content:center;position:relative}.gui-settings-content{flex-grow:1;overflow:auto;position:relative;overscroll-behavior:contain}.gui-settings-content ul{padding:0;margin:0}.gui-settings-content ul li{font-size:16px;margin-bottom:18px;display:flex;height:24px;transition:.2s}.gui-settings-content ul li.disabled,.gui-settings-content ul li:not(.category).folded{height:0;margin:0;overflow:hidden}.gui-settings-content ul li.indent-0{margin-left:16px}.gui-settings-content ul li.indent-1{margin-left:80px}.gui-settings-content ul li.indent-2{margin-left:144px}.gui-settings-content ul li.indent-center{align-items:center;justify-content:center}.gui-settings-content ul li.category{padding:16px 0;margin-bottom:18px;border-top:1px dashed #8884;border-bottom:1px dashed #8884;background:#fff;position:sticky;top:0;z-index:10;cursor:pointer;transition:.2s ease-out;-webkit-tap-highlight-color:transparent}.gui-settings-content ul li.category.folded{margin-bottom:-1px}.gui-settings-content ul li.category *{opacity:.8}.gui-settings-title{font-size:16pt;flex:0 0 auto}.gui-settings-box .gui-settings-title{margin-right:64px}.gui-settings-search[type=text]{flex:1 0 auto;height:auto;border:none;padding:6px;font-size:12pt;width:40%;border-bottom:1px solid #8884;transition:.2s;color:inherit;background:0 0;box-sizing:border-box;outline:0!important}.gui-settings-close{width:24px;height:24px;padding:16px}.gui-settings-header .gui-settings-close{cursor:pointer;-webkit-tap-highlight-color:transparent}.gui-settings-textbox-container{display:flex;justify-content:center;align-items:center;-webkit-tap-highlight-color:transparent}.gui-settings-dropdown-span,.gui-settings-textbox-container span{margin:0 16px;transition:.2s}.gui-settings-textbox-container input{border:none;height:100%;max-width:90px;padding:4px 8px;background:#8884;transition:.2s;font-size:16px}.gui-settings-textbox-container input:disabled,.gui-settings-textbox-container.disabled div,.gui-settings-textbox-container.disabled span{opacity:.5}.gui-settings-checkbox-container{cursor:pointer;display:flex;width:100%;justify-content:start;align-items:center;padding:0 16px;-webkit-tap-highlight-color:transparent}.gui-settings-checkbox-container input{visibility:collapse;transition:.2s;width:0}.gui-settings-checkbox-container .gui-settings-ok{width:24px;height:24px;margin-right:16px;transition:.2s}.gui-settings-checkbox-container input~.gui-settings-ok{background-color:#8884}.gui-settings-checkbox-container input:checked~.gui-settings-ok{background-color:var(--theme-color)}.gui-settings-checkbox-container input~.gui-settings-ok>i{opacity:0;transform-origin:center;transform:scale(.9)}.gui-settings-checkbox-container input:checked~.gui-settings-ok>i{opacity:1}.gui-settings-checkbox-container input:disabled~.gui-settings-ok,.gui-settings-checkbox-container input:disabled~span{opacity:.5}button.gui-settings-button{padding:6px 20px;margin:0 4px;max-height:34px;border:none;background:#8884;font-size:16px;cursor:pointer;transition:.2s ease-out;font-family:inherit;-webkit-tap-highlight-color:transparent}button.gui-settings-button:hover{opacity:.9}button.gui-settings-button:active{opacity:.8}button.gui-settings-button:focus{outline:0}.custom-color-preview{width:28px;height:28px;border-radius:50%;background:var(--theme-color);margin-right:16px;position:relative;cursor:pointer;box-sizing:border-box;box-shadow:0 2px 8px 1px var(--theme-color-70)}.predefined-colors{transition:.2s;display:flex;opacity:0;background:#fff;width:168px;height:168px;position:absolute;box-shadow:0 3px 20px 2px #0004;top:32px;left:calc(-84px + 50%);transform:scale(0);transform-origin:top;z-index:9}.predefined-colors.opened{opacity:1;transform:scale(1)}.predefined-colors-grid{display:grid;grid-template-columns:auto auto auto auto;margin:0;flex-grow:1}.predefined-colors-grid-block{width:100%;height:100%;justify-self:center;align-self:center;cursor:pointer;transform-origin:center;transition:.1s ease-out}.predefined-colors-grid-block:hover{transform:scale(1.1);box-shadow:0 0 8px 1px #0004}input[key]:focus{outline:0}input[type=text][key]{height:auto;border:none}.gui-settings-label{margin:0 16px;font-size:16px}.hidden{display:none!important}@supports (backdrop-filter:blur(24px)) or (-webkit-backdrop-filter:blur(24px)){.gui-settings-box.blur li.category{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:0 0}.gui-settings-box.blur,.gui-settings-box.blur .gui-settings-content,.gui-settings-box.blur .gui-settings-footer,.gui-settings-box.blur .gui-settings-header{background:#fff8}.gui-settings-box.blur .gui-settings-content,.gui-settings-box.blur .gui-settings-footer,.gui-settings-box.blur .gui-settings-header{-webkit-backdrop-filter:blur(64px);backdrop-filter:blur(64px)}}li.category i.icon-arrow{transition:.2s ease-out}li.category.folded i.icon-arrow{transform:rotate(180deg)}.gui-settings-dropdown-container{display:flex;align-items:center}.gui-settings-dropdown{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#8884;display:inline-flex;align-items:center;height:32px}.gui-settings-dropdown>i{transition:.2s ease-out;transform-origin:center;transform:rotate(180deg)}.gui-settings-dropdown>ul{position:absolute;top:calc(100%);width:100%;cursor:pointer;background:#fff;transform-origin:top;transform:scaleY(0);transition:.2s cubic-bezier(.6,-.28,.74,.05);display:flex;flex-direction:column;align-items:center;box-shadow:0 3px 20px 2px #0004;z-index:100}.gui-settings-dropdown ul li{margin:0;padding:12px 0;height:auto;width:100%;justify-content:center}.gui-settings-dropdown ul li:hover{background:rgba(0,0,0,.16)}.gui-settings-dropdown.opened>ul{transform:scaleY(1);transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}.gui-settings-dropdown.opened>i{transform:rotate(0)}.gui-settings-dropdown input{cursor:pointer;border:none;height:100%;max-width:80px;padding:4px 8px;transition:.2s;font-size:16px;background-color:transparent}.gui-settings-dropdown input[key=defaultPlayerMode]{max-width:120px}.gui-settings-dropdown input[key=defaultBangumiLayout],.gui-settings-dropdown input[key=defaultPlayerLayout]{max-width:50px}.gui-settings-box input[key=filenameFormat]{max-width:500px}.gui-settings-mask{height:calc(100% + 5px);width:calc(100% + 5px);opacity:0;background:#000a;position:fixed;top:0;left:0;z-index:99999;pointer-events:none;transition:.3s cubic-bezier(0,.86,.58,1);overscroll-behavior:contain}.gui-settings-mask.opened{opacity:1;pointer-events:initial}.gui-settings-mask.opened.transparent{opacity:0;transition:.3s cubic-bezier(0,.86,.58,1) .3s}.gui-settings-box,.gui-settings-widgets-box{height:100%;width:420px;background:#fff;color:#000;position:fixed;top:0;left:0;z-index:100000;transform:translateX(-100%);transition:.3s cubic-bezier(0,.86,.58,1);display:none;flex-direction:column;box-shadow:4px 0 16px 0 #0000}.gui-settings-box.loaded,.gui-settings-widgets-box.loaded{display:flex}.gui-settings-widgets-box{min-width:200px;width:auto}.gui-settings-box.opened,.gui-settings-widgets-box.opened{transform:translateX(0);box-shadow:4px 0 16px 0 #0005}.gui-settings-widgets-box>.title{margin:32px;font-size:16pt}.gui-settings-widgets-box>.widgets-container{padding:32px;display:flex;flex-direction:column;align-items:stretch;justify-content:start;position:relative;overscroll-behavior:contain;overflow:auto;height:100%}.gui-settings-widgets-box>.widgets-container .empty-tip{font-size:10pt;display:none}.gui-settings-widgets-box>.widgets-container .empty-tip.show{display:block}.gui-settings-widgets-box>.gui-settings-header{justify-content:start}.gui-settings-flat-button,.gui-settings-flat-button a,.gui-settings-flat-button a:hover{display:flex;align-items:center;justify-content:center;color:inherit}.gui-settings-flat-button{width:auto;padding:8px 16px;background:#8884;border:none;color:#000;cursor:pointer;transition:.2s ease-out;font-size:10pt;border-bottom:2px solid var(--theme-color-50);flex:0 0 auto;margin:4px;border-radius:0}.gui-settings-flat-button:disabled{opacity:.5;cursor:not-allowed}.gui-settings-flat-button:hover:not(:disabled){border-bottom-color:var(--theme-color-90);background:#8884}.gui-settings-flat-button:active:not(:disabled){border-bottom-color:var(--theme-color)}.gui-settings-flat-button:focus{outline:0}.gui-settings-flat-button i{margin-right:8px;line-height:24px;height:24px}.gui-settings-checkbox{width:28px;margin-right:24px;height:12px;background:#8884;border-radius:16px;position:relative}.gui-settings-checkbox::after{content:"";width:20px;height:20px;background:#c6c6c6;position:absolute;border-radius:50%;top:-4px;left:-4px;box-shadow:0 2px 8px 1px #0003;transition:.2s ease-out}.gui-settings-checkbox-container input:checked~.gui-settings-checkbox{background:var(--theme-color-80)}.gui-settings-checkbox-container input:checked~.gui-settings-checkbox::after{background:var(--theme-color)!important;box-shadow:0 2px 8px 1px var(--theme-color-70);left:calc(100% - 16px)}.gui-settings-checkbox-container input:disabled~.gui-settings-checkbox{opacity:.5}.gui-settings-header>i{margin-right:8px}.player-full-win .app-content,.player-full-win .live-room-app .app-content,.player-mode-webfullscreen .player-module{z-index:100000!important}.gui-settings-flat-button .popup{position:absolute;top:calc(100% + 2px);transition:.2s cubic-bezier(.6,-.28,.74,.05);transform-origin:top;transform:scaleY(0) translateX(-50%);left:50%;background:#fff;box-shadow:0 3px 20px 2px #0004;z-index:200;display:flex;flex-direction:column;align-items:center;width:max-content}.gui-settings-flat-button .popup *{transition:.2s}.gui-settings-flat-button .popup.opened{transform:scaleY(1) translateX(-50%);transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}.gui-settings-flat-button .popup ul{list-style:none;margin:0;padding:0}.gui-settings-box kbd{padding:0 4px;border-radius:4px;border:1px solid #ccc;color:#ccc;border-bottom-width:3px;margin:0 4px}`; -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.html"] = `
附加功能
空空如也哦 = ̄ω ̄=
设置
  • 视频
  • 样式
  • 工具
  • 触摸
  • 其他
`; +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.html"] = `
附加功能
空空如也哦 = ̄ω ̄=
设置
  • 视频
  • 样式
  • 工具
  • 触摸
  • 其他
`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.js"] = (()=>{return(e,t)=>{const{ThemeColors:n}=t.import("theme-colors");const{SettingsSearch:i}=t.import("settings-search");const{Validator:s}=t.import("text-validate");let o=[];let c=[];let r=[];function a(e){let t=e.nextElementSibling;const n=[];while(t!==null&&!t.classList.contains("category")){n.push(t);t=t.nextElementSibling}return n}function l(){r.forEach(t=>t.value=e[t.getAttribute("key")]);c.forEach(t=>t.checked=e[t.getAttribute("key")])}function d(){document.querySelector(".gui-settings-mask").addEventListener("click",()=>{document.querySelectorAll(".gui-settings-widgets-box,.gui-settings-box,.gui-settings-mask,.bilibili-evolved-about").forEach(e=>e.classList.remove("opened"))});r.forEach(t=>{t.setAttribute("placeholder",e[t.getAttribute("key")])});document.querySelectorAll(".gui-settings-content ul li.category").forEach(e=>{e.addEventListener("click",e=>{const t=document.querySelector(".gui-settings-search");if(t.value!==""){t.value="";raiseEvent(t,"input")}e.currentTarget.classList.toggle("folded");a(e.currentTarget).forEach(e=>e.classList.toggle("folded"))})});document.querySelectorAll(".gui-settings-dropdown>input").forEach(e=>{e.addEventListener("click",e=>{e.currentTarget.parentElement.classList.toggle("opened")})})}function u(){const t=e=>{};c.forEach(n=>{n.addEventListener("change",()=>{const i=n.getAttribute("key");const s=n.checked;e[i]=s;t(i);saveSettings(e)})});r.forEach(n=>{n.addEventListener("change",()=>{const i=n.getAttribute("key");const o=s.getValidator(i).validate(n.value);e[i]=o;n.value=o;t(i);saveSettings(e)})})}function g(){const e=o.map(e=>[e.getAttribute("dependencies").split(" ").map(e=>o.find(t=>t.getAttribute("key")===e)),e]);const t=e=>e.nodeName.toUpperCase()==="LI"?e:t(e.parentElement);e.forEach(([e,n])=>{if(e[0]===undefined){return}const i=()=>{if(e.every(e=>e.checked)){t(n).classList.remove("disabled")}else{t(n).classList.add("disabled")}};e.forEach(e=>e.addEventListener("change",i));i()})}function f(){if(typeof offlineData!=="undefined"){document.querySelector(".gui-settings-checkbox-container>input[key=useCache]").parentElement.parentElement.classList.add("disabled");document.querySelector("input[key=useCache]").disabled=true}}function b(){if(!CSS.supports("backdrop-filter","blur(24px)")&&!CSS.supports("-webkit-backdrop-filter","blur(24px)")){o.find(e=>e.getAttribute("key")==="blurVideoControl").disabled=true;e.blurVideoControl=false;saveSettings(e)}if(window.devicePixelRatio===1){o.find(e=>e.getAttribute("key")==="harunaScale").disabled=true;o.find(e=>e.getAttribute("key")==="imageResolution").disabled=true;e.harunaScale=false;e.imageResolution=false;saveSettings(e)}}function m(){for(const[e,t]of Object.entries(Resource.displayNames)){const n=o.find(t=>t.getAttribute("key")===e);if(!n){continue}switch(n.type){case"checkbox":n.nextElementSibling.nextElementSibling.innerHTML=t;break;case"text":const e=n.parentElement;if(e.classList.contains("gui-settings-textbox-container")){n.previousElementSibling.innerHTML=t}else if(e.classList.contains("gui-settings-dropdown")){e.previousElementSibling.innerHTML=t}break;default:break}}}(async()=>{t.applyStyle("guiSettingsStyle");document.body.insertAdjacentHTML("afterbegin",``);const e=document.body&&unsafeWindow.parent.window!==unsafeWindow;if(e){document.querySelector(".gui-settings-icon-panel").style.display="none"}const s=t.data.guiSettingsHtml.text;document.body.insertAdjacentHTML("beforeend",s);const a=document.querySelector(".widgets-container");const p=a.querySelector(".empty-tip");Observer.childList(a,()=>{if(a.childElementCount<=1){p.classList.add("show")}else{p.classList.remove("show")}});(new n).setupDom();const y=document.querySelectorAll(".gui-settings-widgets-box,.gui-settings-box");const h=document.querySelector(".gui-settings-icon-panel");h.addEventListener("mouseover",()=>{raiseEvent(h,"be:load");y.forEach(e=>e.classList.add("loaded"));o=[...document.querySelectorAll("input[key]")];c=o.filter(e=>e.type==="checkbox");r=o.filter(e=>e.type==="text"&&!e.parentElement.classList.contains("gui-settings-dropdown"));d();f();l();g();u();b();m();new i},{once:true})})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/haruna-scale.min.js"] = (()=>{return(n,e)=>{const t="haruna-scale";const a=()=>{if(document.getElementById(t)===null){e.applyStyleFromText(`\n .haruna-ctnr,\n .avatar-btn\n {\n transform: scale(${1/window.devicePixelRatio}) !important;\n }\n `,t)}};a();return{reload:a,unload:()=>{const n=document.getElementById(t);n&&n.remove()}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/hide-bangumi-reviews.min.js"] = (()=>{return(e,n)=>{return n.toggleStyle(`\n #review_module { display: none !important; }\n `,`hide-bangumi-reviews-style`)}})(); @@ -1110,14 +1111,14 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.css"] = `.gui-settings-tooltip{position:fixed;left:440px;color:#fff;background:#0008;padding:1rem;font-size:12pt;top:50%;transform:translateY(-50%);transition:.2s ease-out .8s;opacity:0;min-width:100%;max-height:100%;line-height:24px;white-space:pre-wrap;pointer-events:none}.gui-settings-tooltip.show{pointer-events:initial;opacity:1}.gui-settings-tooltip span{font-weight:700}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.js"] = (()=>{return(e,a)=>{const n={useDefaultPlayerMode:`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`,defaultPlayerMode:`设置默认的播放器模式.`,applyPlayerModeOnPlay:`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`,useDefaultPlayerLayout:`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`,defaultPlayerLayout:`设置视频区的布局.`,defaultBangumiLayout:`设置番剧区的布局.`,useDefaultVideoQuality:`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`,defaultVideoQuality:`设定自动选择的视频画质.`,autoLightOff:`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`,useDefaultDanmakuSettings:`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`,enableDanmaku:`控制弹幕是否默认开启.`,rememberDanmakuSettings:`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`,expandDanmakuList:`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`,expandDescription:`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`,autoPlay:`进入视频页面时自动开始播放视频.`,autoContinue:`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`,skipChargeList:`自动跳过视频结尾的充电鸣谢.`,framePlayback:`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift + 左/右方向键. (旧版播放器只能用键盘快捷键, 不会显示按钮)`,playerFocus:`进入视频/番剧页面时, 自动定位到播放器.`,playerFocusOffset:`定位时的竖直偏移量, 单位为像素(px).`,customStyleColor:`设定顶栏(样式调整启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`,useNewStyle:`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`,blurBackgroundOpacity:`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`,useDarkStyle:`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`,darkSchedule:`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`,darkScheduleStart:`设置计划时段的起始时间.`,darkScheduleEnd:`设置计划时段的结束时间.`,compactLayout:`设置首页是否使用紧凑布局, 视频的间距会减小并削去圆角, 分区栏的图标会使用高清重制版. 目前仅支持首页, 其他分区的样式后续会添加.`,useCommentStyle:`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`,simplifyLiveroom:`- 隐藏姥爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx姥爷进入直播间)\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`,overrideNavBar:`开启后, 在主站中总是把搜索框置于顶栏, 如果页面里没有搜索栏则不会显示.`,showBanner:`控制是否显示主站顶部的横幅`,preserveRank:`控制是否在搜索框左侧显示排行榜图标.`,blurVideoControl:`模糊视频控制栏背景, 原版的阴影效果将无效.`,customControlBackground:`给视频控制栏附上半透明的黑色, 代替原来的阴影.`,customControlBackgroundOpacity:`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`,harunaScale:`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`,removeLiveWatermark:`删除观看直播时角落的水印.`,removeVideoTopMask:`删除视频里鼠标经过时出现在右上角的覆盖层.`,removeAds:`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`,watchLaterRedirect:`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`,favoritesRedirect:`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`,hideTopSearch:`将搜索框的推荐词替换为搜索.`,fullTweetsTitle:`在顶栏的动态预览框中, 总是展开完整的标题.`,fullPageTitle:`在视频选集列表中, 总是展开完整的标题.`,showDeadVideoTitle:`在个人空间中, 为已失效视频恢复标题和封面.`,useBiliplusRedirect:`将失效视频重定向到BiliPlus.`,biliplusRedirect:`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`,imageResolution:`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`,oldTweets:`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`,touchNavBar:`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`,comboLike:`为素质三连(长按点赞)启用触摸支持.`,touchVideoPlayer:`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`,touchVideoPlayerAnimation:`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`,touchVideoPlayerDoubleTapControl:`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`,toast:`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`,toastInternalError:`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`,useCache:`使用缓存以提高脚本的加载速度.`};function t(e){const a=e.querySelector("input");if(a){return a.getAttribute("key")}return null}(async()=>{a.applyStyle("settingsTooltipStyle");const e=await SpinQuery.select(()=>document.querySelector(".gui-settings-tooltip"));document.querySelectorAll(".gui-settings-content>ul>li").forEach(a=>{a.addEventListener("mouseover",()=>{const s=n[t(a)];if(s!==undefined){e.innerHTML=s;e.classList.add("show")}});a.addEventListener("mouseout",()=>{e.classList.remove("show")})})})();return{export:{toolTips:n}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.zh-CN.min.js"] = (()=>{return(a,n)=>{const e=new Map([["useDefaultPlayerMode",`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`],["defaultPlayerMode",`设置默认的播放器模式.`],["applyPlayerModeOnPlay",`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`],["useDefaultPlayerLayout",`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`],["defaultPlayerLayout",`设置视频区的布局.`],["defaultBangumiLayout",`设置番剧区的布局.`],["useDefaultVideoQuality",`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`],["defaultVideoQuality",`设定自动选择的视频画质.`],["autoLightOff",`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`],["useDefaultDanmakuSettings",`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`],["enableDanmaku",`控制弹幕是否默认开启.`],["rememberDanmakuSettings",`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`],["expandDanmakuList",`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`],["expandDescription",`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`],["autoPlay",`进入视频页面时自动开始播放视频.`],["autoContinue",`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`],["skipChargeList",`自动跳过视频结尾的充电鸣谢.`],["framePlayback",`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift+/. (旧版播放器只能用键盘快捷键, 不会显示按钮)`],["playerFocus",`进入视频/番剧页面时, 自动定位到播放器.`],["playerFocusOffset",`定位时的竖直偏移量, 单位为像素(px).`],["customStyleColor",`设定顶栏(自定义顶栏启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`],["useNewStyle",`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`],["blurBackgroundOpacity",`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`],["useDarkStyle",`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`],["darkSchedule",`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`],["darkScheduleStart",`设置计划时段的起始时间.`],["darkScheduleEnd",`设置计划时段的结束时间.`],["compactLayout",`设置首页是否使用紧凑布局, 视频的间距会减小并削去圆角, 分区栏的图标会使用高清重制版. 目前仅支持首页, 其他分区的样式后续会添加.`],["useCommentStyle",`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`],["simplifyLiveroom",`- 隐藏姥爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx姥爷进入直播间)\n- 隐藏礼物弹幕 (仅弹幕列表, 特殊效果如节奏风暴不受影响)\n- 隐藏上舰提示 (弹幕列表里的 xxx开通了舰长)\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`],["preserveRank",`控制是否在搜索框左侧显示排行榜图标.`],["blurVideoControl",`模糊视频控制栏背景, 原版的阴影效果将无效.`],["customControlBackground",`给视频控制栏附上半透明的黑色, 代替原来的阴影.`],["customControlBackgroundOpacity",`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`],["harunaScale",`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`],["removeLiveWatermark",`删除观看直播时角落的水印.`],["removeVideoTopMask",`删除视频里鼠标经过时出现在右上角的覆盖层.`],["removeAds",`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`],["watchLaterRedirect",`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`],["favoritesRedirect",`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`],["hideTopSearch",`将搜索框的推荐词替换为搜索.`],["fullTweetsTitle",`在顶栏的动态预览框中, 总是展开完整的视频标题.`],["fullPageTitle",`在视频选集列表中, 总是展开完整的标题.`],["showDeadVideoTitle",`在个人空间中, 为已失效视频恢复标题和封面.`],["useBiliplusRedirect",`将失效视频重定向到BiliPlus.`],["biliplusRedirect",`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`],["imageResolution",`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`],["oldTweets",`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`],["touchNavBar",`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`],["comboLike",`为素质三连(长按点赞)启用触摸支持.`],["touchVideoPlayer",`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`],["touchVideoPlayerAnimation",`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`],["touchVideoPlayerDoubleTapControl",`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`],["toast",`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`],["toastInternalError",`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`],["useCache",`使用缓存以提高脚本的加载速度.`],["outerWatchlater",`将视频页面菜单里的稍后再看移到外面.`],["i18n",`为界面中一些常用文本提供翻译.`],["i18nLanguage",`翻译的目标语言.`],["customNavbar",`启用自定义顶栏, 替代原版的顶栏, 仅对主站生效, 不影响直播/相簿/会员购等.`],["customNavbarFill",`是否使用主题色填充顶栏.`],["allNavbarFill",`是否使用主题色填充其他的顶栏, 包括直播/相簿/会员购等.`],["customNavbarShadow",`是否为顶栏添加一层阴影效果.`],["customNavbarCompact",`是否为顶栏使用更紧凑的布局, 紧凑布局将使用更小的间距, 以及在视频标题过长时用...省略后面的部分.`],["customNavbarBlur",`是否在顶部横幅存在时, 使用背景模糊效果.`],["playerShadow",`为播放器添加主题色投影.`],["narrowDanmaku",`在网页全屏时, 即使宽度过小也强制保留弹幕发送栏, 注意这可能导致右侧的功能按钮挤出边界.`],["hideOldEntry",`隐藏播放页右侧的返回旧版入口.`],["hideBanner",`隐藏首页顶部横幅.`],["allowJumpContinue",`当历史记录的集数与当前打开的不一致时, 仍然自动跳转.`],["hideBangumiReviews",`隐藏番剧播放页面里的点评板块.`],["videoScreenshot",`启用视频快速截图, 将在播放器的时间右边增加一个截图按钮. 支持键盘快捷键Ctrl+Alt+C. (旧版播放器只能用键盘快捷键, 不会显示按钮)`],["filenameFormat",`自定义文件命名格式, 作用于下载弹幕, 下载视频, 视频截图, 查看封面.\n可以使用的变量有:\n- title: 视频标题/直播间标题\n- ep: 选集标题\n- aid: AV号\n- cid: CID (每个视频的唯一编号, AV号对应的视频可能有多集)\n- lid: 直播间号\n- y/M/d: 年/月/日\n- h/m/s/ms: 时/分/秒/毫秒\n\n默认的格式是[title][ - ep], 标题+选集标题, 当没有选集标题时则只有标题.\n\n变量要放在方括号里, 而方括号里的其他内容会在变量有效时出现. 比如格式如果写成[title] - [ep], 那么即使没有选集标题, 中间那个 - 也会出现在文件名里. 如果像默认那样放在方括号里, 没有选集标题时, - 也不会出现.\n\n例如, 想要标题+AV号+时间的格式, 可以设定为[title][ AVaid] [y]-[M]-[d] [h]-[m]-[s], 能够得到类似xxxx AV23333 2019-05-29 19-59-44的名字.`],["noLiveAutoplay",`禁止直播首页的推荐直播间自动开始播放.`],["hideHomeLive",`隐藏直播首页的推荐直播间板块.`],["sideBarOffset",`设定侧栏的垂直偏移量, 单位为百分比, 允许的范围为 -40% ~ 40%.`],["hideCategory",`隐藏主站的分区栏, 分区仍然可以从顶栏的主站菜单中进入.`],["foldComment",`动态里查看评论区时, 在底部添加一个收起评论按钮, 这样就不用再回到上面收起了.`]]);return{export:{toolTips:e}}}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/show-dead-video-title.min.js"] = (()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e){return{title:e.title,cover:e.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(s.data[e])}else{return{title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async queryInfo(e){const t=[];await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/add",`aid=${e}&csrf=${s.csrf}`)));const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const a=i.data.list.map(e=>{return{aid:e.aid,title:e.title,cover:e.pic}});t.push(...e.map(e=>a.find(t=>t.aid===parseInt(e))).filter(e=>e!==undefined));await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/del",`aid=${e}&csrf=${s.csrf}`)))}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}s.csrf=document.cookie.replace(/(?:(?:^|.*;\s*)bili_jct\s*\=\s*([^;]*).*$)|^.*$/,"$1");const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const i=t.map(e=>e.getAttribute("data-aid"));const a=new s;const r=await a.queryInfo(i);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const o=t.querySelector("a.cover");o.target="_blank";o.href=a;const n=r[i];if(n.cover!==""){o.querySelector("img").src=n.cover.replace("http:","https:")}const l=t.querySelector("a.title");l.target="_blank";l.title=n.title;l.href=a;l.innerText=n.title})})})()}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/show-dead-video-title.min.js"] = (()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e){return{title:e.title,cover:e.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(s.data[e])}else{return{title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async queryInfo(e){const t=[];await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/add",`aid=${e}&csrf=${s.csrf}`)));const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const a=i.data.list.map(e=>{return{aid:e.aid,title:e.title,cover:e.pic}});t.push(...e.map(e=>a.find(t=>t.aid===parseInt(e))).filter(e=>e!==undefined));await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/del",`aid=${e}&csrf=${s.csrf}`)))}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}s.csrf=document.cookie.replace(/(?:(?:^|.*;\s*)bili_jct\s*\=\s*([^;]*).*$)|^.*$/,"$1");const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const a=t.map(e=>e.getAttribute("data-aid"));const r=e.deadVideoTitleProvider==="Biliplus"?new i:new s;const o=await r.queryInfo(a);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const r=t.querySelector("a.cover");r.target="_blank";r.href=a;const l=o[i];if(l.cover!==""){r.querySelector("img").src=l.cover.replace("http:","https:")}const n=t.querySelector("a.title");n.target="_blank";n.title=l.title;n.href=a;n.innerText=l.title})})})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-liveroom.min.css"] = `.simplify-fansMedal .fans-medal-item-ctnr,.simplify-giftMessage .chat-item.gift-item,.simplify-guard i.guard-icon,.simplify-guardPurchase .chat-item.guard-buy,.simplify-popup .chat-popups-section,.simplify-popup .link-popup-ctnr,.simplify-systemMessage .system-msg,.simplify-title .title-label,.simplify-userLevel .user-level-icon,.simplify-vip .vip-icon,.simplify-welcomeMessage .welcome-guard,.simplify-welcomeMessage .welcome-msg{display:none!important}.simplify-skin #gift-control-vm,.simplify-skin #head-info-vm,.simplify-skin #rank-list-ctnr-box{background-image:none!important}.simplify-guard .guard-danmaku::before{border-image:none!important;background-color:transparent!important}.simplify-guard .guard-danmaku{margin:0!important;padding:4px 5px!important}.simplify-guard .guard-danmaku::after{background-image:none!important}.simplify-liveroom-settings>ul>li{padding:8px 12px;display:flex;align-items:center}.simplify-liveroom-settings>ul>li:hover{background:rgba(0,0,0,.16)}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-liveroom.min.js"] = (()=>{return(e,i)=>{const s={vip:"老爷图标",fansMedal:"粉丝勋章",title:"活动头衔",userLevel:"用户等级",guard:"舰长图标",systemMessage:"全区广播",welcomeMessage:"欢迎信息",giftMessage:"礼物弹幕",guardPurchase:"上舰提示",popup:"抽奖提示",skin:"房间皮肤"};return{widget:{condition:()=>document.URL.startsWith(`https://live.bilibili.com/`),content:`\n
\n \n 简化直播间\n \n
\n `,success:()=>{const i=document.querySelector("#simplify-liveroom");const t=document.querySelector(".gui-settings-mask");i.addEventListener("click",e=>{const i=document.querySelector(".simplify-liveroom-settings");if(i.contains(e.target)||e.target===i){return}i.classList.toggle("opened")});i.addEventListener("mouseenter",()=>t.classList.add("transparent"));i.addEventListener("mouseleave",()=>t.classList.remove("transparent"));let n=e.simplifyLiveroomSettings.skin;const a=["#head-info-vm","#gift-control-vm","#rank-list-vm","#rank-list-ctnr-box",".gift-panel.base-panel",".gift-panel.extend-panel",".seeds-wrap>div:first-child",".gift-section>div:last-child",".z-gift-package>div>div",".right-action"];const c="live-skin-coloration-area";a.forEach(e=>{SpinQuery.select(e,i=>{Observer.attributes(e,e=>{e.forEach(e=>{if(e.attributeName==="class"){if(n&&i.classList.contains(c)){i.classList.remove(c)}else if(!n&&!i.classList.contains(c)){i.classList.add(c)}}})})})});const o=(e,i)=>{document.body.classList[e?"add":"remove"](`simplify-${i}`);if(i==="skin"){n=e;a.forEach(i=>{SpinQuery.select(i,i=>i.classList[e?"remove":"add"]("live-skin-coloration-area"))})}};new Vue({el:".simplify-liveroom-settings",data:{items:Object.entries(s).map(([i,s])=>{const t=e.simplifyLiveroomSettings[i];o(t,i);return{key:i,name:s,checked:t}})},methods:{itemClick(i){i.checked=!i.checked;o(i.checked,i.key);e.simplifyLiveroomSettings=Object.assign(e.simplifyLiveroomSettings,{[i.key]:i.checked})}}})}}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/skip-charge-list.min.css"] = `.bilibili-player .bilibili-player-area .bilibili-player-electric-panel{display:none!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/skip-charge-list.min.js"] = (()=>{return(e,i)=>{async function n(){const e=await SpinQuery.select(()=>document.querySelector("video"));e&&e.addEventListener("ended",async()=>{const e=await SpinQuery.select(()=>document.querySelector(".bilibili-player-electric-panel-jump"));e&&e.click()})}if(Observer.videoChange){Observer.videoChange(n)}else{Observer.childList("#bofqi",n)}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/slip.min.js"] = (()=>{return(t,e)=>{window["Slip"]=function(){"use strict";var t={container:{ariaRole:"listbox",tabIndex:0,focus:false},items:{ariaRole:"option",tabIndex:-1,focus:false}};var e=/Chrome\/[3-5]/.test(navigator.userAgent);var i=e;var n=e;var s=document.createElement("div").style;var o="transition"in s?"transition":"webkitTransition";var a="transform"in s?"transform":"webkitTransform";var r=a==="webkitTransform"?"-webkit-transform":"transform";var h="userSelect"in s?"userSelect":"webkitUserSelect";s[a]="translateZ(0)";var l=s[a]?"translateZ(0) ":"";var c=s[a]?"translateZ(1px) ":"";s=null;var u=0;var d=false;var f=function(){};function g(t,e){if("string"===typeof t)t=document.querySelector(t);if(!t||!t.addEventListener)throw new Error("Please specify DOM node to attach to");if(!this||this===window)return new g(t,e);this.options=e=e||{};this.options.keepSwipingPercent=e.keepSwipingPercent||0;this.options.minimumSwipeVelocity=e.minimumSwipeVelocity||1;this.options.minimumSwipeTime=e.minimumSwipeTime||110;this.options.ignoredElements=e.ignoredElements||[];if(!Array.isArray(this.options.ignoredElements))throw new Error("ignoredElements must be an Array");this.cancel=this.setState.bind(this,this.states.idle);this.onTouchStart=this.onTouchStart.bind(this);this.onTouchMove=this.onTouchMove.bind(this);this.onTouchEnd=this.onTouchEnd.bind(this);this.onMouseDown=this.onMouseDown.bind(this);this.onMouseMove=this.onMouseMove.bind(this);this.onMouseUp=this.onMouseUp.bind(this);this.onMouseLeave=this.onMouseLeave.bind(this);this.onSelection=this.onSelection.bind(this);this.onContainerFocus=this.onContainerFocus.bind(this);this.setState(this.states.idle);this.attach(t)}function m(t){var e=t.style[a];if(e){return{value:e,original:e}}if(window.getComputedStyle){var i=window.getComputedStyle(t).getPropertyValue(r);if(i&&i!=="none")return{value:i,original:""}}return{value:"",original:""}}function v(t,e){var i=0;var n=0;for(var s=0;s20&&t.y20){this.setState(this.states.idle)}if(t.x>t.y*1.2)return false},onLeave:function(){this.setState(this.states.idle)},onEnd:function(){var t=this.dispatch(this.target.originalTarget,"tap");this.setState(this.states.idle);return t}}},swipe:function t(){var e=false;var i=this.container;var n=v(this.target,this.container.childNodes);i.classList.add("slip-swiping-container");function s(){i.classList.remove("slip-swiping-container")}this.target.height=this.target.node.offsetHeight;return{leaveState:function(){if(e){this.animateSwipe(function(t){t.node.style[a]=t.baseTransform.original;if(this.dispatch(t.node,"afterswipe")){s();return true}else{this.animateToZero(undefined,t)}}.bind(this))}else{this.animateToZero(s)}},onMove:function(){var t=this.getTotalMovement();if(Math.abs(t.y)this.options.minimumSwipeVelocity&&t.time>this.options.minimumSwipeTime||this.options.keepSwipingPercent&&s>this.options.keepSwipingPercent;if(o){if(this.dispatch(this.target.node,"swipe",{direction:t.directionX,originalIndex:n})){e=true}}else{this.dispatch(this.target.node,"cancelswipe")}this.setState(this.states.idle);return!o}}},reorder:function e(){if(this.target.node.focus&&t.items.focus){this.target.node.focus()}this.target.height=this.target.node.offsetHeight;var i;if(this.options.ignoredElements.length){var s=this.container;var o=s.tagName.toLowerCase();if(s.getAttribute("id")){o="#"+s.getAttribute("id")}else if(s.classList.length){o+="."+s.getAttribute("class").replace(" ",".")}o+=" > ";this.options.ignoredElements.forEach(function(t){o+=":not("+t+")"});try{i=s.parentNode.querySelectorAll(o)}catch(t){if(t instanceof DOMException&&t.name==="SyntaxError")throw new Error("ignoredElements you specified contain invalid query");else throw t}}else{i=this.container.childNodes}var r=v(this.target,i);var u;var d=this.target.node.offsetTop+this.target.height/2;var f=[];for(var g=0;gt.y){n=e}else if(i.pos>0&&t.y>0&&i.post.y){break}}i=e}else{for(e=f.length-1;e>=0;e--){if(f[e].pos1){this.setState(this.states.idle);return}if(!this.setTarget(t))return;this.startAtPosition({x:t.touches[0].clientX,y:t.touches[0].clientY,time:t.timeStamp})},setTarget:function(t){var e=this.findTargetNode(t.target);if(!e){this.setState(this.states.idle);return false}var i=this.options.scrollContainer;if(!i){var n=document.scrollingElement||document.documentElement;i=e.parentNode;while(i){if(i==n)break;if(i!=document.body&&i.scrollHeight>i.clientHeight&&window.getComputedStyle(i)["overflow-y"]!="visible")break;i=i.parentNode}i=i||n}this.target={originalTarget:t.target,node:e,scrollContainer:i,origScrollTop:i.scrollTop,origScrollHeight:i.scrollHeight,baseTransform:m(e)};return true},startAtPosition:function(t){this.startPosition=this.previousPosition=this.latestPosition=t;this.setState(this.states.undecided)},updatePosition:function(t,e){if(this.target==null){return}this.latestPosition=e;if(this.state.onMove){if(this.state.onMove.call(this)===false){t.preventDefault()}}if(this.latestPosition.time-this.previousPosition.time>100){this.previousPosition=this.latestPosition}},onMouseMove:function(t){t.stopPropagation();this.updatePosition(t,{x:t.clientX,y:t.clientY,time:t.timeStamp})},onTouchMove:function(t){t.stopPropagation();this.updatePosition(t,{x:t.touches[0].clientX,y:t.touches[0].clientY,time:t.timeStamp});this.canPreventScrolling=false},onMouseUp:function(t){t.stopPropagation();if(this.usingTouch||t.button!==0)return;if(this.state.onEnd&&false===this.state.onEnd.call(this)){t.preventDefault()}},onTouchEnd:function(t){t.stopPropagation();if(t.touches.length>1){this.cancel()}else if(this.state.onEnd&&false===this.state.onEnd.call(this)){t.preventDefault()}},getTotalMovement:function(){var t=this.target.scrollContainer.scrollTop-this.target.origScrollTop;return{x:this.latestPosition.x-this.startPosition.x,y:this.latestPosition.y-this.startPosition.y+t,time:this.latestPosition.time-this.startPosition.time}},getAbsoluteMovement:function(){var t=this.getTotalMovement();return{x:Math.abs(t.x),y:Math.abs(t.y),time:t.time,directionX:t.x<0?"left":"right",directionY:t.y<0?"up":"down"}},updateScrolling:function(){var t=40,e=0;var i=this.target.scrollContainer,n=i.getBoundingClientRect(),s=this.target.node.getBoundingClientRect(),o=Math.min(n.bottom,window.innerHeight)-s.bottom,a=s.top-Math.max(n.top,0),r=this.target.origScrollHeight-Math.min(i.clientHeight,window.innerHeight);if(o0?"":"-")+"100%,0) "+l+e.baseTransform.value;setTimeout(function(){if(t.call(this,e)){i.forEach(function(t){t.node.style[a]=n+t.baseTransform.value});setTimeout(function(){i.forEach(function(t){t.node.style[a]="translate(0,0) "+l+t.baseTransform.value});setTimeout(function(){i.forEach(function(t){t.node.style[a]=t.baseTransform.original})},101)},1)}}.bind(this),101)}};if("function"===typeof define&&define.amd){define(function(){return g})}if("object"===typeof module&&module.exports){module.exports=g}return g}()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/style.min.css"] = `.bili-wrapper{display:flex!important;justify-content:center!important;align-items:center!important;height:50px!important}.bili-header-m>.nav-menu,.link-navbar,.link-navbar .main-ctnr .nav-items-ctnr,.link-navbar-ctnr .link-navbar,.link-navbar-ctnr .link-navbar .main-ctnr .nav-items-ctnr,.nav-header-wrapper{background:var(--theme-color)!important}.bili-header-m>.nav-menu,.link-navbar-ctnr,.nav-header-wrapper{box-shadow:var(--theme-color-70) 0 2px 10px 1px!important}div.stardust-player{background:#fff!important}.nav-header-wrapper>.nav-header,.nav-mask{background-color:transparent!important}.link-navbar,.nav-mask{box-shadow:none!important}.nav-con{flex-grow:10!important;flex-shrink:0!important}.nav-con.fl{margin-left:-2em!important}.nav-search-box{margin:9px 0 0!important}.bili-header-m .nav-menu .nav-con .nav-item .t,.link-navbar .main-ctnr .custom-link>a,.link-navbar .main-ctnr .nav-logo,.link-navbar .main-ctnr .nav-switcher,.link-navbar .nav-item,.link-navbar .nav-item .icon-font,.link-navbar .nav-item.selected .label,.link-navbar .nav-item:hover,.my-link-btn,.nav-header-wrapper .nav-header .nav-header-mainsite,.nav-header-wrapper .nav-header .order-center,.shortcuts-ctnr,.shortcuts-ctnr .shortcut-item,.stardust-video .nav-menu .nav-con .nav-item.home .drop,.stardust-video .nav-menu .nav-con .nav-item.home .header-icon-Navbar_logo{color:var(--foreground-color-d)!important}.stardust-video .nav-menu .nav-con .nav-item.home .header-icon-Navbar_logo{transform:scale(.75)!important;top:7px!important}.stardust-video .nav-menu .up-load .up-nav{top:42px!important}.link-navbar .nav-item:hover,.link-navbar-ctnr .link-navbar .nav-item:hover,.link-navbar-ctnr .shortcuts-ctnr .shortcut-item:hover,.my-link-btn:hover,.publish-btn:hover,.shortcuts-ctnr .shortcut-item:hover,li.nav-item:not(.profile-info):hover{background-color:hsla(0,0%,var(--brightness),.2)!important}.link-navbar .nav-item:hover .nav-link .label,.my-link-btn .label:hover,.publish-btn:hover::after,.shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,li.nav-item.home:hover{background:0 0!important}.vip-m{background:#fff!important}a.t>i.bili-icon,a.t>i.bili-icon-logo{width:50px!important;left:-60px!important;top:0!important;height:50px!important;background-position-y:12px!important}.link-navbar .nav-item:first-child::before,.main-ctnr .nav-logo:before,.nav-header-wrapper .nav-header .nav-header-logo,.nav-header-wrapper .nav-header .nav-header-tv-icon,.nav-header-wrapper .nav-header .order-icon,a.t>i.bili-icon,a.t>i.bili-icon-logo{filter:brightness(0) var(--invert-filter)!important;opacity:.81!important}#entryOld,.b-icon-app,.blp-red-tip::after,.main-container .entry-old,.nav-search-submit,.title-icon,body>#Header{display:none!important}.bilibili-player-video-inputbar{display:flex!important}.i-face>.face,.user-panel-ctnr .msg-hinter{box-shadow:0 0 2px 1.5px #0002!important}div.up-load{margin-top:8px!important;margin-left:9px!important;height:32px!important;order:4!important;flex-grow:0;flex-shrink:0}.stardust-video .nav-menu .nav-wrapper{padding:0 5rem!important}.publish-btn{height:40px!important;line-height:40px!important;background:var(--theme-color)!important;border:1px solid!important;border-radius:5px!important;box-shadow:none!important;top:calc(50% - 20px)!important;transition:.2s!important}.publish-panel{margin-top:7px!important}.my-link-btn{border-radius:0!important}.main-ctnr .search-bar-ctnr .search-bar input,.slot-ctnr a{color:#222!important}.main-ctnr .search-bar-ctnr .search-bar .placeholder,.main-ctnr .search-bar-ctnr .search-bar .search-btn{color:#878787!important}.main-ctnr .search-bar-ctnr .search-bar{border:none!important;box-shadow:0 2px 10px 1px #0002!important}.u-link{background:0 0!important;color:var(--foreground-color-d)!important;border-radius:4px!important;line-height:30px!important;height:30px!important;transition:background-color .2s!important}.shortcuts-ctnr .shortcut-item .hinter,.shortcuts-ctnr .shortcut-item .num-hinter,.u-link{border:1px solid!important}.u-link:hover{opacity:1!important;background-color:hsla(0,0%,var(--brightness),.2)!important}#nav_searchform,.stardust-video .nav-con .nav-search{width:130px!important}.stardust-video .nav-con .nav-search .nav-search-keyword{color:#222!important;width:120px!important;padding-right:32px}.nav-header-wrapper .nav-header .nav-header-search-bar,.stardust-video .nav-con #nav_searchform{border-radius:4px!important;background:#fffb!important;border:none!important;transition:background-color .2s!important;box-shadow:0 2px 10px 1px #0002;padding-right:0!important}.search-bar-ctnr .search-bar{background-color:#fffd!important;transition:.2s!important}.nav-header-wrapper .nav-header .nav-header-search-bar:focus-within,.nav-header-wrapper .nav-header .nav-header-search-bar:hover,.search-bar-ctnr .search-bar:focus-within,.search-bar-ctnr .search-bar:hover,.stardust-video .nav-con #nav_searchform:focus-within,.stardust-video .nav-con #nav_searchform:hover{background-color:#fff!important}#bilibiliPlayer{box-shadow:0 4px 16px 0 var(--theme-color-40)!important}.blur-bg{opacity:var(--blur-background-opacity)!important;filter:blur(20px)!important}.suggest-item .cancel{width:28px!important}.stardust-video .nav-con ul.bilibili-suggest{margin-left:-35px!important;width:200px!important}li.suggest-item>a{max-width:155px!important}.nav-item div.num{box-shadow:0 .5px 4px 0 #0004!important}#primary_menu,#primary_menu>ul.nav-menu{display:flex!important;align-items:center!important}.bilibili-player-video-btn-quality{width:auto!important;margin:0 6px!important}#primary_menu,div.nav-gif{padding:0!important}.filter-item.search,body{margin:0!important}.input-box textarea{padding:8px!important}.link-navbar .main-ctnr .nav-switcher.open-btn{filter:brightness(0) invert(1)!important;opacity:.8!important}.guard-rank-cntr.open .tip.rank-desc{visibility:visible!important}.guard-rank-cntr .rank-cntr .tip{visibility:hidden!important}.tag-container .tag-item .tag-border .tag-border-inner{width:100%!important}.bilibili-player-video-control{background-color:transparent!important}.mouse-hover .bilibili-player-video-control-top,.video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:32px!important}.bilibili-player-video-control-top{left:-12px!important;right:-12px!important;bottom:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control-wrap{bottom:0!important}.showSearch .nav-search-submit{top:6px!important}.nav-header-wrapper .nav-header .nav-header-search-bar::placeholder,.search-bar-ctnr .search-bar .search-btn,.search-bar-ctnr .search-bar input::placeholder{color:#888!important}.card-list .card{border:none!important;border-radius:4px!important}@media only screen and (min-width:1291px){.nav-con{margin:0 1em!important}#nav_searchform,.stardust-video .nav-con .bilibili-suggest.nav,.stardust-video .nav-con .nav-search{width:250px!important}.stardust-video .nav-con .nav-search .nav-search-keyword{width:240px!important}.stardust-video .nav-con ul.bilibili-suggest{margin-left:0!important;width:250px!important}.stardust-video .nav-con li.suggest-item>a{max-width:205px!important}}@media screen and (min-width:750px){.player .bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:-12px!important;right:-12px!important;bottom:0!important}.mode-fullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-fullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:42px!important}}`; -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/text-validate.min.js"] = (()=>{return(e,t)=>{class a{constructor(e){this.key=e}get originalValue(){return e[this.key]}static getValidator(e){switch(e){case"customStyleColor":return new s(e);case"blurBackgroundOpacity":case"customControlBackgroundOpacity":case"customNavbarBlurOpacity":return new i(e);case"defaultPlayerMode":case"defaultVideoQuality":case"i18nLanguage":return new r(e);case"darkScheduleStart":case"darkScheduleEnd":return new n(e);case"playerFocusOffset":return new u(e);case"sideBarOffset":return new o(e,-40,40);default:return new a(e)}}isValidate(e){return e}validate(e){const t=this.isValidate(e);if(t===undefined){return this.originalValue}return t}}class s extends a{isValidate(e){if(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(e)){if(e.length<7){return`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`}else{return e}}}}class i extends a{isValidate(e){if(/^([-+]?\d+)(\.\d+)?$/.test(e)){const t=parseFloat(e);if(t>=0&&t<=1){return e}}}}class r extends a{isValidate(e){const[t]=Object.values(Resource.manifest).filter(e=>e.dropdown&&e.dropdown.key===this.key).map(e=>e.dropdown);if(t.items.indexOf(e)!==-1){return e}}}class n extends a{isValidate(e){const t=e.match(/^([\d]{1,2}):([\d]{1,2})$/);if(t&&t.length>=3){const e={hour:parseInt(t[1]),minute:parseInt(t[2])};(function(){while(this.minute<0){this.minute+=60;this.hour-=1}while(this.minute>=60){this.minute-=60;this.hour+=1}while(this.hour<0){this.hour+=24}while(this.hour>=24){this.hour-=24}}).call(e);return`${e.hour}:${e.minute<10?"0"+e.minute:e.minute}`}}}class u extends a{isValidate(e){const t=parseInt(e);if(!isNaN(t)){return t}}}class o extends a{constructor(e,t,a){super(e);this.min=t;this.max=a}isValidate(e){const t=parseInt(e);if(!isNaN(t)&&t>=this.min&&t<=this.max){return t}}}return{export:{Validator:a,ColorValidator:s,DropDownValidator:r,OpacityValidator:i,TimeValidator:n,NumberValidator:u}}}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/text-validate.min.js"] = (()=>{return(e,t)=>{class a{constructor(e){this.key=e}get originalValue(){return e[this.key]}static getValidator(e){switch(e){case"customStyleColor":return new i(e);case"blurBackgroundOpacity":case"customControlBackgroundOpacity":case"customNavbarBlurOpacity":return new s(e);case"defaultPlayerMode":case"defaultVideoQuality":case"i18nLanguage":case"deadVideoTitleProvider":return new r(e);case"darkScheduleStart":case"darkScheduleEnd":return new n(e);case"playerFocusOffset":return new u(e);case"sideBarOffset":return new o(e,-40,40);default:return new a(e)}}isValidate(e){return e}validate(e){const t=this.isValidate(e);if(t===undefined){return this.originalValue}return t}}class i extends a{isValidate(e){if(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(e)){if(e.length<7){return`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`}else{return e}}}}class s extends a{isValidate(e){if(/^([-+]?\d+)(\.\d+)?$/.test(e)){const t=parseFloat(e);if(t>=0&&t<=1){return e}}}}class r extends a{isValidate(e){const[t]=Object.values(Resource.manifest).filter(e=>e.dropdown&&e.dropdown.key===this.key).map(e=>e.dropdown);if(t.items.indexOf(e)!==-1){return e}}}class n extends a{isValidate(e){const t=e.match(/^([\d]{1,2}):([\d]{1,2})$/);if(t&&t.length>=3){const e={hour:parseInt(t[1]),minute:parseInt(t[2])};(function(){while(this.minute<0){this.minute+=60;this.hour-=1}while(this.minute>=60){this.minute-=60;this.hour+=1}while(this.hour<0){this.hour+=24}while(this.hour>=24){this.hour-=24}}).call(e);return`${e.hour}:${e.minute<10?"0"+e.minute:e.minute}`}}}class u extends a{isValidate(e){const t=parseInt(e);if(!isNaN(t)){return t}}}class o extends a{constructor(e,t,a){super(e);this.min=t;this.max=a}isValidate(e){const t=parseInt(e);if(!isNaN(t)&&t>=this.min&&t<=this.max){return t}}}return{export:{Validator:a,ColorValidator:i,DropDownValidator:r,OpacityValidator:s,TimeValidator:n,NumberValidator:u}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/theme-colors.min.js"] = (()=>{return(e,r)=>{const t={red:"#e57373",pink:"#F06292",purple:"#BA68C8",deepPurple:"#9575CD",indigo:"#7986CB",blue:"#2196F3",lightBlue:"#00A0D8",cyan:"#00ACC1",teal:"#26A69A",green:"#81C784",lightGreen:"#9CCC65",orange:"#FF9800",deepOrange:"#FF7043",brown:"#A1887F",grey:"#757575",blueGrey:"#78909C"};class o{constructor(){this.reloadColor=(()=>{const e=document.querySelector("html");return function(r){const t=new ColorProcessor(r);const o=e=>t.rgbToString(t.hexToRgba(e));const n=t.hexToRgba(r+"70");const l=document.querySelector("div.custom-color-preview");l.style.background=r;l.style.boxShadow=`0px 2px 8px 1px rgba(${n.r},${n.g},${n.b},${n.a})`;e.style.setProperty("--theme-color",r);for(let t=10;t<=90;t+=10){e.style.setProperty(`--theme-color-${t}`,o(r+t))}e.style.setProperty("--foreground-color",t.foreground);e.style.setProperty("--foreground-color-b",o(t.foreground+"b"));e.style.setProperty("--foreground-color-d",o(t.foreground+"d"));e.style.setProperty("--blue-image-filter",t.blueImageFilter);e.style.setProperty("--pink-image-filter",t.pinkImageFilter);e.style.setProperty("--brightness",t.brightness);e.style.setProperty("--invert-filter",t.filterInvert)}})()}setupDom(){const e=document.querySelector(`input[key='customStyleColor']`);e.addEventListener("change",()=>{this.reloadColor(e.value)});const r=document.querySelector(".predefined-colors-grid");for(const o of Object.values(t)){const t=document.createElement("div");r.insertAdjacentElement("beforeend",t);t.classList.add("predefined-colors-grid-block");t.style.background=o;t.setAttribute("data-color",o);t.addEventListener("click",r=>{const t=r.target.getAttribute("data-color");e.value=t;raiseEvent(e,"input");raiseEvent(e,"change")})}const o=document.querySelector(".predefined-colors");document.querySelector("div.custom-color-preview").addEventListener("click",()=>{o.classList.toggle("opened")})}}return{export:{ThemeColors:o}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/title.min.js"] = (()=>{return(e,t)=>{function i(e=true){const t=document.title.replace("_番剧_bilibili_哔哩哔哩","").replace("_电影_bilibili_哔哩哔哩","").replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace(" - 哔哩哔哩直播,二次元弹幕直播平台","").replace(/[\/\\:\*\?"<>\|]/g,"").trim();if(!e||document.URL.indexOf("/bangumi")!==-1){return t}else{const e=document.querySelector("#multi_page .cur-list>ul li.on a");if(e===null){return t}else{const i=e.getAttribute("title");return t+" - "+i}}}function r(t=true){if(e.filenameFormat===undefined){return i(t)}const r=new Date;const l={title:document.title.replace("_番剧_bilibili_哔哩哔哩","").replace("_电影_bilibili_哔哩哔哩","").replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace(/(.*?) - (.*?) - 哔哩哔哩直播,二次元弹幕直播平台/,"$1").trim(),ep:(()=>{if(!t){return null}const e=document.querySelector("#multi_page .cur-list>ul li.on a");if(e===null){return null}else{return e.getAttribute("title")}})(),aid:unsafeWindow.aid,cid:unsafeWindow.cid,lid:document.URL.replace(/https:\/\/live\.bilibili\.com\/(\d+).*/,"$1"),y:r.getFullYear().toString(),M:(r.getMonth()+1).toString().padStart(2,"0"),d:r.getDate().toString().padStart(2,"0"),h:r.getHours().toString().padStart(2,"0"),m:r.getMinutes().toString().padStart(2,"0"),s:r.getSeconds().toString().padStart(2,"0"),ms:r.getMilliseconds().toString().substr(0,3)};const n=Object.keys(l).reduce((e,t)=>{return e.replace(new RegExp(`\\[([^\\[\\]]*?)${t}([^\\[\\]]*?)\\]`,"g"),l[t]?`$1${l[t]}$2`:"")},e.filenameFormat);return n.replace(/[\/\\:\*\?"<>\|]/g,"")}return{export:{getFriendlyTitle:r}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.css"] = `.toast-card-container{position:fixed;left:16px;bottom:16px;display:flex;flex-direction:column;align-items:start;z-index:100001}.toast-card{background:#fff;min-width:240px;max-width:60vw;min-height:0;max-height:0;box-shadow:0 4px 16px 1px rgba(0,0,0,.3);transition:.3s cubic-bezier(0,.65,.58,1);transform:translateX(-150%);transform-origin:left;overflow:hidden;display:flex;flex-direction:column;border-left-width:4px;border-left-style:solid}.toast-card.visible{min-height:96px;max-height:unset;transform:translateX(0);margin-top:16px}.toast-card-header{display:flex;align-items:center}.toast-card-title{font-size:18px;color:#000;opacity:.5;margin:16px;font-weight:700;flex:1 1 auto}.toast-card-dismiss{height:24px;width:24px;flex:0 0 auto;padding:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.2s ease-out;transform-origin:center;opacity:.5}.toast-card-dismiss:hover{transform:scale(1.2)}.toast-card-dismiss:active{transform:scale(1.1)}.toast-card-message{color:#000;font-size:14px;margin:0 16px 16px;white-space:pre-wrap;display:flex;align-items:center}.toast-card.toast-default{border-left-color:#444}.toast-card.toast-error{border-left-color:#f44336}.toast-card.toast-info{border-left-color:#2196f3}.toast-card.toast-success{border-left-color:#8bc34a}.toast-card .link,.toast-card span{display:inline-block;padding:4px 6px;margin:0 2px;background-color:rgba(0,0,0,.1);text-decoration:none;color:#000;transition:.2s ease-out}.toast-card .link:hover{background-color:rgba(0,0,0,.2)}.toast-card .link:active{background-color:rgba(0,0,0,.1)}@keyframes loading{0%,100%{top:0;left:50%}25%{top:50%;left:100%}50%{top:100%;left:50%}75%{top:50%;left:0}}.toast-card .loading{width:14px;height:14px;display:inline-block;margin-right:14px;position:relative}.toast-card .loading::after{content:"";width:10px;height:10px;background-color:#8884;border-radius:50%;display:block;transform:translateX(-50%) translateY(-50%);position:absolute;top:0;left:50%;animation:1s cubic-bezier(.22,.61,.36,1) infinite loading}`; @@ -1759,8 +1760,13 @@ Resource.manifest = { path: 'show-dead-video-title.min.js', displayNames: { showDeadVideoTitle: '显示失效视频信息', - useBiliplusRedirect: '失效视频重定向' - } + useBiliplusRedirect: '失效视频重定向', + deadVideoTitleProvider: '信息来源', + }, + dropdown: { + key: 'deadVideoTitleProvider', + items: ['稍后再看', 'Biliplus'], + }, }, autoPlay: { path: 'auto-play.min.js', diff --git a/bilibili-evolved.preview-offline.user.js b/bilibili-evolved.preview-offline.user.js index 5876e4bed..b63ca8fc0 100644 --- a/bilibili-evolved.preview-offline.user.js +++ b/bilibili-evolved.preview-offline.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Bilibili Evolved (Preview Offline) -// @version 352.81 +// @version 352.82 // @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中. // @author Grant Howard, Coulomb-G // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) @@ -195,6 +195,7 @@ const settings = { allowJumpContinue: false, autoPlay: false, showDeadVideoTitle: false, + deadVideoTitleProvider: '稍后再看', useBiliplusRedirect: false, biliplusRedirect: false, framePlayback: true, @@ -1058,7 +1059,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/full-tweets-title.min.css"] = `.dynamic-m .info{height:auto!important}.dynamic-m .info a{white-space:normal!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/full-tweets-title.min.js"] = (()=>{return(e,l)=>{l.applyStyle("fullTweetsTitleStyle")}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.css"] = `.gui-settings-icon-panel{height:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;position:fixed;top:calc(50% + var(--side-bar-offset));left:0;width:32px;z-index:99999;transform:translateY(-50%);user-select:none}.gui-settings-icon-panel i{transition:.2s;opacity:.6;transform:rotate(180deg);font-size:12px}.gui-settings-widgets:hover i,.gui-settings:hover i{opacity:.75;transform:rotate(0)}.gui-settings,.gui-settings-widgets{display:flex;justify-content:center;align-items:center;cursor:pointer;-webkit-tap-highlight-color:transparent;margin:16px 0;width:24px;height:24px;transition:.2s;opacity:1;transform-origin:center!important;transform:translateX(-16px);background-color:rgba(255,255,255,.75);border-radius:0 50% 50% 0;padding:6px}body.dark .gui-settings,body.dark .gui-settings-widgets{background-color:rgba(0,0,0,.75)}.gui-settings-widgets:hover,.gui-settings:hover{opacity:1;transform:translateX(0)}.gui-settings-footer,.gui-settings-header{flex-grow:0;display:flex;align-items:center;justify-content:space-between;flex-shrink:0;z-index:10;padding:32px}.gui-settings-footer{height:80px;justify-content:center;position:relative}.gui-settings-content{flex-grow:1;overflow:auto;position:relative;overscroll-behavior:contain}.gui-settings-content ul{padding:0;margin:0}.gui-settings-content ul li{font-size:16px;margin-bottom:18px;display:flex;height:24px;transition:.2s}.gui-settings-content ul li.disabled,.gui-settings-content ul li:not(.category).folded{height:0;margin:0;overflow:hidden}.gui-settings-content ul li.indent-0{margin-left:16px}.gui-settings-content ul li.indent-1{margin-left:80px}.gui-settings-content ul li.indent-2{margin-left:144px}.gui-settings-content ul li.indent-center{align-items:center;justify-content:center}.gui-settings-content ul li.category{padding:16px 0;margin-bottom:18px;border-top:1px dashed #8884;border-bottom:1px dashed #8884;background:#fff;position:sticky;top:0;z-index:10;cursor:pointer;transition:.2s ease-out;-webkit-tap-highlight-color:transparent}.gui-settings-content ul li.category.folded{margin-bottom:-1px}.gui-settings-content ul li.category *{opacity:.8}.gui-settings-title{font-size:16pt;flex:0 0 auto}.gui-settings-box .gui-settings-title{margin-right:64px}.gui-settings-search[type=text]{flex:1 0 auto;height:auto;border:none;padding:6px;font-size:12pt;width:40%;border-bottom:1px solid #8884;transition:.2s;color:inherit;background:0 0;box-sizing:border-box;outline:0!important}.gui-settings-close{width:24px;height:24px;padding:16px}.gui-settings-header .gui-settings-close{cursor:pointer;-webkit-tap-highlight-color:transparent}.gui-settings-textbox-container{display:flex;justify-content:center;align-items:center;-webkit-tap-highlight-color:transparent}.gui-settings-dropdown-span,.gui-settings-textbox-container span{margin:0 16px;transition:.2s}.gui-settings-textbox-container input{border:none;height:100%;max-width:90px;padding:4px 8px;background:#8884;transition:.2s;font-size:16px}.gui-settings-textbox-container input:disabled,.gui-settings-textbox-container.disabled div,.gui-settings-textbox-container.disabled span{opacity:.5}.gui-settings-checkbox-container{cursor:pointer;display:flex;width:100%;justify-content:start;align-items:center;padding:0 16px;-webkit-tap-highlight-color:transparent}.gui-settings-checkbox-container input{visibility:collapse;transition:.2s;width:0}.gui-settings-checkbox-container .gui-settings-ok{width:24px;height:24px;margin-right:16px;transition:.2s}.gui-settings-checkbox-container input~.gui-settings-ok{background-color:#8884}.gui-settings-checkbox-container input:checked~.gui-settings-ok{background-color:var(--theme-color)}.gui-settings-checkbox-container input~.gui-settings-ok>i{opacity:0;transform-origin:center;transform:scale(.9)}.gui-settings-checkbox-container input:checked~.gui-settings-ok>i{opacity:1}.gui-settings-checkbox-container input:disabled~.gui-settings-ok,.gui-settings-checkbox-container input:disabled~span{opacity:.5}button.gui-settings-button{padding:6px 20px;margin:0 4px;max-height:34px;border:none;background:#8884;font-size:16px;cursor:pointer;transition:.2s ease-out;font-family:inherit;-webkit-tap-highlight-color:transparent}button.gui-settings-button:hover{opacity:.9}button.gui-settings-button:active{opacity:.8}button.gui-settings-button:focus{outline:0}.custom-color-preview{width:28px;height:28px;border-radius:50%;background:var(--theme-color);margin-right:16px;position:relative;cursor:pointer;box-sizing:border-box;box-shadow:0 2px 8px 1px var(--theme-color-70)}.predefined-colors{transition:.2s;display:flex;opacity:0;background:#fff;width:168px;height:168px;position:absolute;box-shadow:0 3px 20px 2px #0004;top:32px;left:calc(-84px + 50%);transform:scale(0);transform-origin:top;z-index:9}.predefined-colors.opened{opacity:1;transform:scale(1)}.predefined-colors-grid{display:grid;grid-template-columns:auto auto auto auto;margin:0;flex-grow:1}.predefined-colors-grid-block{width:100%;height:100%;justify-self:center;align-self:center;cursor:pointer;transform-origin:center;transition:.1s ease-out}.predefined-colors-grid-block:hover{transform:scale(1.1);box-shadow:0 0 8px 1px #0004}input[key]:focus{outline:0}input[type=text][key]{height:auto;border:none}.gui-settings-label{margin:0 16px;font-size:16px}.hidden{display:none!important}@supports (backdrop-filter:blur(24px)) or (-webkit-backdrop-filter:blur(24px)){.gui-settings-box.blur li.category{-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:0 0}.gui-settings-box.blur,.gui-settings-box.blur .gui-settings-content,.gui-settings-box.blur .gui-settings-footer,.gui-settings-box.blur .gui-settings-header{background:#fff8}.gui-settings-box.blur .gui-settings-content,.gui-settings-box.blur .gui-settings-footer,.gui-settings-box.blur .gui-settings-header{-webkit-backdrop-filter:blur(64px);backdrop-filter:blur(64px)}}li.category i.icon-arrow{transition:.2s ease-out}li.category.folded i.icon-arrow{transform:rotate(180deg)}.gui-settings-dropdown-container{display:flex;align-items:center}.gui-settings-dropdown{position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;background-color:#8884;display:inline-flex;align-items:center;height:32px}.gui-settings-dropdown>i{transition:.2s ease-out;transform-origin:center;transform:rotate(180deg)}.gui-settings-dropdown>ul{position:absolute;top:calc(100%);width:100%;cursor:pointer;background:#fff;transform-origin:top;transform:scaleY(0);transition:.2s cubic-bezier(.6,-.28,.74,.05);display:flex;flex-direction:column;align-items:center;box-shadow:0 3px 20px 2px #0004;z-index:100}.gui-settings-dropdown ul li{margin:0;padding:12px 0;height:auto;width:100%;justify-content:center}.gui-settings-dropdown ul li:hover{background:rgba(0,0,0,.16)}.gui-settings-dropdown.opened>ul{transform:scaleY(1);transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}.gui-settings-dropdown.opened>i{transform:rotate(0)}.gui-settings-dropdown input{cursor:pointer;border:none;height:100%;max-width:80px;padding:4px 8px;transition:.2s;font-size:16px;background-color:transparent}.gui-settings-dropdown input[key=defaultPlayerMode]{max-width:120px}.gui-settings-dropdown input[key=defaultBangumiLayout],.gui-settings-dropdown input[key=defaultPlayerLayout]{max-width:50px}.gui-settings-box input[key=filenameFormat]{max-width:500px}.gui-settings-mask{height:calc(100% + 5px);width:calc(100% + 5px);opacity:0;background:#000a;position:fixed;top:0;left:0;z-index:99999;pointer-events:none;transition:.3s cubic-bezier(0,.86,.58,1);overscroll-behavior:contain}.gui-settings-mask.opened{opacity:1;pointer-events:initial}.gui-settings-mask.opened.transparent{opacity:0;transition:.3s cubic-bezier(0,.86,.58,1) .3s}.gui-settings-box,.gui-settings-widgets-box{height:100%;width:420px;background:#fff;color:#000;position:fixed;top:0;left:0;z-index:100000;transform:translateX(-100%);transition:.3s cubic-bezier(0,.86,.58,1);display:none;flex-direction:column;box-shadow:4px 0 16px 0 #0000}.gui-settings-box.loaded,.gui-settings-widgets-box.loaded{display:flex}.gui-settings-widgets-box{min-width:200px;width:auto}.gui-settings-box.opened,.gui-settings-widgets-box.opened{transform:translateX(0);box-shadow:4px 0 16px 0 #0005}.gui-settings-widgets-box>.title{margin:32px;font-size:16pt}.gui-settings-widgets-box>.widgets-container{padding:32px;display:flex;flex-direction:column;align-items:stretch;justify-content:start;position:relative;overscroll-behavior:contain;overflow:auto;height:100%}.gui-settings-widgets-box>.widgets-container .empty-tip{font-size:10pt;display:none}.gui-settings-widgets-box>.widgets-container .empty-tip.show{display:block}.gui-settings-widgets-box>.gui-settings-header{justify-content:start}.gui-settings-flat-button,.gui-settings-flat-button a,.gui-settings-flat-button a:hover{display:flex;align-items:center;justify-content:center;color:inherit}.gui-settings-flat-button{width:auto;padding:8px 16px;background:#8884;border:none;color:#000;cursor:pointer;transition:.2s ease-out;font-size:10pt;border-bottom:2px solid var(--theme-color-50);flex:0 0 auto;margin:4px;border-radius:0}.gui-settings-flat-button:disabled{opacity:.5;cursor:not-allowed}.gui-settings-flat-button:hover:not(:disabled){border-bottom-color:var(--theme-color-90);background:#8884}.gui-settings-flat-button:active:not(:disabled){border-bottom-color:var(--theme-color)}.gui-settings-flat-button:focus{outline:0}.gui-settings-flat-button i{margin-right:8px;line-height:24px;height:24px}.gui-settings-checkbox{width:28px;margin-right:24px;height:12px;background:#8884;border-radius:16px;position:relative}.gui-settings-checkbox::after{content:"";width:20px;height:20px;background:#c6c6c6;position:absolute;border-radius:50%;top:-4px;left:-4px;box-shadow:0 2px 8px 1px #0003;transition:.2s ease-out}.gui-settings-checkbox-container input:checked~.gui-settings-checkbox{background:var(--theme-color-80)}.gui-settings-checkbox-container input:checked~.gui-settings-checkbox::after{background:var(--theme-color)!important;box-shadow:0 2px 8px 1px var(--theme-color-70);left:calc(100% - 16px)}.gui-settings-checkbox-container input:disabled~.gui-settings-checkbox{opacity:.5}.gui-settings-header>i{margin-right:8px}.player-full-win .app-content,.player-full-win .live-room-app .app-content,.player-mode-webfullscreen .player-module{z-index:100000!important}.gui-settings-flat-button .popup{position:absolute;top:calc(100% + 2px);transition:.2s cubic-bezier(.6,-.28,.74,.05);transform-origin:top;transform:scaleY(0) translateX(-50%);left:50%;background:#fff;box-shadow:0 3px 20px 2px #0004;z-index:200;display:flex;flex-direction:column;align-items:center;width:max-content}.gui-settings-flat-button .popup *{transition:.2s}.gui-settings-flat-button .popup.opened{transform:scaleY(1) translateX(-50%);transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}.gui-settings-flat-button .popup ul{list-style:none;margin:0;padding:0}.gui-settings-box kbd{padding:0 4px;border-radius:4px;border:1px solid #ccc;color:#ccc;border-bottom-width:3px;margin:0 4px}`; -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.html"] = `
附加功能
空空如也哦 = ̄ω ̄=
设置
  • 视频
  • 样式
  • 工具
  • 触摸
  • 其他
`; +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.html"] = `
附加功能
空空如也哦 = ̄ω ̄=
设置
  • 视频
  • 样式
  • 工具
  • 触摸
  • 其他
`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/gui-settings.min.js"] = (()=>{return(e,t)=>{const{ThemeColors:n}=t.import("theme-colors");const{SettingsSearch:i}=t.import("settings-search");const{Validator:s}=t.import("text-validate");let o=[];let c=[];let r=[];function a(e){let t=e.nextElementSibling;const n=[];while(t!==null&&!t.classList.contains("category")){n.push(t);t=t.nextElementSibling}return n}function l(){r.forEach(t=>t.value=e[t.getAttribute("key")]);c.forEach(t=>t.checked=e[t.getAttribute("key")])}function d(){document.querySelector(".gui-settings-mask").addEventListener("click",()=>{document.querySelectorAll(".gui-settings-widgets-box,.gui-settings-box,.gui-settings-mask,.bilibili-evolved-about").forEach(e=>e.classList.remove("opened"))});r.forEach(t=>{t.setAttribute("placeholder",e[t.getAttribute("key")])});document.querySelectorAll(".gui-settings-content ul li.category").forEach(e=>{e.addEventListener("click",e=>{const t=document.querySelector(".gui-settings-search");if(t.value!==""){t.value="";raiseEvent(t,"input")}e.currentTarget.classList.toggle("folded");a(e.currentTarget).forEach(e=>e.classList.toggle("folded"))})});document.querySelectorAll(".gui-settings-dropdown>input").forEach(e=>{e.addEventListener("click",e=>{e.currentTarget.parentElement.classList.toggle("opened")})})}function u(){const t=e=>{};c.forEach(n=>{n.addEventListener("change",()=>{const i=n.getAttribute("key");const s=n.checked;e[i]=s;t(i);saveSettings(e)})});r.forEach(n=>{n.addEventListener("change",()=>{const i=n.getAttribute("key");const o=s.getValidator(i).validate(n.value);e[i]=o;n.value=o;t(i);saveSettings(e)})})}function g(){const e=o.map(e=>[e.getAttribute("dependencies").split(" ").map(e=>o.find(t=>t.getAttribute("key")===e)),e]);const t=e=>e.nodeName.toUpperCase()==="LI"?e:t(e.parentElement);e.forEach(([e,n])=>{if(e[0]===undefined){return}const i=()=>{if(e.every(e=>e.checked)){t(n).classList.remove("disabled")}else{t(n).classList.add("disabled")}};e.forEach(e=>e.addEventListener("change",i));i()})}function f(){if(typeof offlineData!=="undefined"){document.querySelector(".gui-settings-checkbox-container>input[key=useCache]").parentElement.parentElement.classList.add("disabled");document.querySelector("input[key=useCache]").disabled=true}}function b(){if(!CSS.supports("backdrop-filter","blur(24px)")&&!CSS.supports("-webkit-backdrop-filter","blur(24px)")){o.find(e=>e.getAttribute("key")==="blurVideoControl").disabled=true;e.blurVideoControl=false;saveSettings(e)}if(window.devicePixelRatio===1){o.find(e=>e.getAttribute("key")==="harunaScale").disabled=true;o.find(e=>e.getAttribute("key")==="imageResolution").disabled=true;e.harunaScale=false;e.imageResolution=false;saveSettings(e)}}function m(){for(const[e,t]of Object.entries(Resource.displayNames)){const n=o.find(t=>t.getAttribute("key")===e);if(!n){continue}switch(n.type){case"checkbox":n.nextElementSibling.nextElementSibling.innerHTML=t;break;case"text":const e=n.parentElement;if(e.classList.contains("gui-settings-textbox-container")){n.previousElementSibling.innerHTML=t}else if(e.classList.contains("gui-settings-dropdown")){e.previousElementSibling.innerHTML=t}break;default:break}}}(async()=>{t.applyStyle("guiSettingsStyle");document.body.insertAdjacentHTML("afterbegin",``);const e=document.body&&unsafeWindow.parent.window!==unsafeWindow;if(e){document.querySelector(".gui-settings-icon-panel").style.display="none"}const s=t.data.guiSettingsHtml.text;document.body.insertAdjacentHTML("beforeend",s);const a=document.querySelector(".widgets-container");const p=a.querySelector(".empty-tip");Observer.childList(a,()=>{if(a.childElementCount<=1){p.classList.add("show")}else{p.classList.remove("show")}});(new n).setupDom();const y=document.querySelectorAll(".gui-settings-widgets-box,.gui-settings-box");const h=document.querySelector(".gui-settings-icon-panel");h.addEventListener("mouseover",()=>{raiseEvent(h,"be:load");y.forEach(e=>e.classList.add("loaded"));o=[...document.querySelectorAll("input[key]")];c=o.filter(e=>e.type==="checkbox");r=o.filter(e=>e.type==="text"&&!e.parentElement.classList.contains("gui-settings-dropdown"));d();f();l();g();u();b();m();new i},{once:true})})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/haruna-scale.min.js"] = (()=>{return(n,e)=>{const t="haruna-scale";const a=()=>{if(document.getElementById(t)===null){e.applyStyleFromText(`\n .haruna-ctnr,\n .avatar-btn\n {\n transform: scale(${1/window.devicePixelRatio}) !important;\n }\n `,t)}};a();return{reload:a,unload:()=>{const n=document.getElementById(t);n&&n.remove()}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/hide-bangumi-reviews.min.js"] = (()=>{return(e,n)=>{return n.toggleStyle(`\n #review_module { display: none !important; }\n `,`hide-bangumi-reviews-style`)}})(); @@ -1110,14 +1111,14 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.css"] = `.gui-settings-tooltip{position:fixed;left:440px;color:#fff;background:#0008;padding:1rem;font-size:12pt;top:50%;transform:translateY(-50%);transition:.2s ease-out .8s;opacity:0;min-width:100%;max-height:100%;line-height:24px;white-space:pre-wrap;pointer-events:none}.gui-settings-tooltip.show{pointer-events:initial;opacity:1}.gui-settings-tooltip span{font-weight:700}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.min.js"] = (()=>{return(e,a)=>{const n={useDefaultPlayerMode:`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`,defaultPlayerMode:`设置默认的播放器模式.`,applyPlayerModeOnPlay:`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`,useDefaultPlayerLayout:`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`,defaultPlayerLayout:`设置视频区的布局.`,defaultBangumiLayout:`设置番剧区的布局.`,useDefaultVideoQuality:`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`,defaultVideoQuality:`设定自动选择的视频画质.`,autoLightOff:`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`,useDefaultDanmakuSettings:`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`,enableDanmaku:`控制弹幕是否默认开启.`,rememberDanmakuSettings:`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`,expandDanmakuList:`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`,expandDescription:`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`,autoPlay:`进入视频页面时自动开始播放视频.`,autoContinue:`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`,skipChargeList:`自动跳过视频结尾的充电鸣谢.`,framePlayback:`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift + 左/右方向键. (旧版播放器只能用键盘快捷键, 不会显示按钮)`,playerFocus:`进入视频/番剧页面时, 自动定位到播放器.`,playerFocusOffset:`定位时的竖直偏移量, 单位为像素(px).`,customStyleColor:`设定顶栏(样式调整启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`,useNewStyle:`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`,blurBackgroundOpacity:`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`,useDarkStyle:`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`,darkSchedule:`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`,darkScheduleStart:`设置计划时段的起始时间.`,darkScheduleEnd:`设置计划时段的结束时间.`,compactLayout:`设置首页是否使用紧凑布局, 视频的间距会减小并削去圆角, 分区栏的图标会使用高清重制版. 目前仅支持首页, 其他分区的样式后续会添加.`,useCommentStyle:`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`,simplifyLiveroom:`- 隐藏姥爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx姥爷进入直播间)\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`,overrideNavBar:`开启后, 在主站中总是把搜索框置于顶栏, 如果页面里没有搜索栏则不会显示.`,showBanner:`控制是否显示主站顶部的横幅`,preserveRank:`控制是否在搜索框左侧显示排行榜图标.`,blurVideoControl:`模糊视频控制栏背景, 原版的阴影效果将无效.`,customControlBackground:`给视频控制栏附上半透明的黑色, 代替原来的阴影.`,customControlBackgroundOpacity:`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`,harunaScale:`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`,removeLiveWatermark:`删除观看直播时角落的水印.`,removeVideoTopMask:`删除视频里鼠标经过时出现在右上角的覆盖层.`,removeAds:`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`,watchLaterRedirect:`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`,favoritesRedirect:`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`,hideTopSearch:`将搜索框的推荐词替换为搜索.`,fullTweetsTitle:`在顶栏的动态预览框中, 总是展开完整的标题.`,fullPageTitle:`在视频选集列表中, 总是展开完整的标题.`,showDeadVideoTitle:`在个人空间中, 为已失效视频恢复标题和封面.`,useBiliplusRedirect:`将失效视频重定向到BiliPlus.`,biliplusRedirect:`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`,imageResolution:`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`,oldTweets:`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`,touchNavBar:`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`,comboLike:`为素质三连(长按点赞)启用触摸支持.`,touchVideoPlayer:`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`,touchVideoPlayerAnimation:`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`,touchVideoPlayerDoubleTapControl:`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`,toast:`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`,toastInternalError:`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`,useCache:`使用缓存以提高脚本的加载速度.`};function t(e){const a=e.querySelector("input");if(a){return a.getAttribute("key")}return null}(async()=>{a.applyStyle("settingsTooltipStyle");const e=await SpinQuery.select(()=>document.querySelector(".gui-settings-tooltip"));document.querySelectorAll(".gui-settings-content>ul>li").forEach(a=>{a.addEventListener("mouseover",()=>{const s=n[t(a)];if(s!==undefined){e.innerHTML=s;e.classList.add("show")}});a.addEventListener("mouseout",()=>{e.classList.remove("show")})})})();return{export:{toolTips:n}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-tooltip.zh-CN.min.js"] = (()=>{return(a,n)=>{const e=new Map([["useDefaultPlayerMode",`控制是否使用默认播放器模式, 可以为常规, 宽屏, 网页全屏全屏.`],["defaultPlayerMode",`设置默认的播放器模式.`],["applyPlayerModeOnPlay",`是否在播放时应用模式, 若选择否就会在未开始播放时就应用.`],["useDefaultPlayerLayout",`设置默认的播放器布局, 尽量在相应的页面里设置(比如在番剧播放页面设置番剧播放器布局), 否则可能没有效果.\n- 旧版: 传统布局\n- 新版: 视频区默认的新版布局\n注: 旧版布局中, 很多脚本功能将不适用.`],["defaultPlayerLayout",`设置视频区的布局.`],["defaultBangumiLayout",`设置番剧区的布局.`],["useDefaultVideoQuality",`进入视频时自动选择指定的画质, 若视频最高画质低于所选画质, 则使用视频的最高画质.`],["defaultVideoQuality",`设定自动选择的视频画质.`],["autoLightOff",`首次播放时, 自动进入关灯模式, 并在播放结束后自动开灯.`],["useDefaultDanmakuSettings",`设置默认是否开启弹幕, 以及是否记住防挡字幕和智能防挡弹幕.`],["enableDanmaku",`控制弹幕是否默认开启.`],["rememberDanmakuSettings",`控制是否记住弹幕设置, 包括防挡字幕和智能防挡弹幕. 在播放器中改动这些设置后, 每个视频都会默认使用这些设置.`],["expandDanmakuList",`新版播放页面中, 弹幕列表默认收起以显示推荐的其他视频. 启用此功能可在每次加载视频时自动展开弹幕列表.`],["expandDescription",`长的视频简介默认会被折叠, 启用此功能可以强制展开完整的视频简介.`],["autoPlay",`进入视频页面时自动开始播放视频.`],["autoContinue",`播放视频时如果检测到历史记录信息(上次看到...消息), 则自动跳转到相应的时间播放.`],["skipChargeList",`自动跳过视频结尾的充电鸣谢.`],["framePlayback",`在播放器的时间右边增加两个按钮, 用于精细调整视频时间. 支持键盘快捷键Shift+/. (旧版播放器只能用键盘快捷键, 不会显示按钮)`],["playerFocus",`进入视频/番剧页面时, 自动定位到播放器.`],["playerFocusOffset",`定位时的竖直偏移量, 单位为像素(px).`],["customStyleColor",`设定顶栏(自定义顶栏启用时)和夜间模式使用的主题色, 可以点击颜色预览的圆圈打开色板, 其中含有预定义的16种主题色, 也可以在右侧的文本框直接输入任何有效的16进制颜色值(#rrggbb#rgb).`],["useNewStyle",`主要会改变顶栏的样式, 并有一些其他地方的界面微调:\n- 为播放器增加主题色投影\n- 可控制顶栏对横幅的透明度\n- 使播放器按钮垂直对齐\n- 使部分搜索栏的提示文字的颜色更清晰\n- 隐藏播放页面的"返回旧版"侧栏\n- 修复直播间一些文字初始状态不正确\n- 窄屏幕下强制保留弹幕发送栏`],["blurBackgroundOpacity",`设置顶栏对横幅的透明度(0~1), 数值越高顶栏越淡, 当横幅关闭时此选项无效.`],["useDarkStyle",`夜间模式更适合光线暗的环境, 并会大量应用主题颜色.`],["darkSchedule",`设置一个使用夜间模式的时间段, 进入/离开此时间段时, 会自动开启/关闭夜间模式.\n结束时间小于起始时间时将视为次日, 如18:006:00表示晚上18:00到次日6:00.`],["darkScheduleStart",`设置计划时段的起始时间.`],["darkScheduleEnd",`设置计划时段的结束时间.`],["compactLayout",`设置首页是否使用紧凑布局, 视频的间距会减小并削去圆角, 分区栏的图标会使用高清重制版. 目前仅支持首页, 其他分区的样式后续会添加.`],["useCommentStyle",`- 删除热评头像下方的关注按钮\n- 删除用户的等级标识\n- 删除发送源信息(来自安卓客户端这种)\n- 发送时间移动到右上角\n- 位图图标全部换用矢量图标, 高分屏不会模糊\n注: 关注和等级可以通过鼠标停留在头像上, 在弹出的资料卡小窗中查看.`],["simplifyLiveroom",`- 隐藏姥爷图标\n- 隐藏粉丝勋章\n- 隐藏活动头衔\n- 隐藏用户等级\n- 隐藏舰长图标\n- 隐藏全区广播\n- 隐藏欢迎信息 (xxx姥爷进入直播间)\n- 隐藏礼物弹幕 (仅弹幕列表, 特殊效果如节奏风暴不受影响)\n- 隐藏上舰提示 (弹幕列表里的 xxx开通了舰长)\n- 隐藏抽奖提示 (开通舰长, 小飞船抽奖等)\n- 禁用直播间皮肤\n每一项都可以在附加功能中单独选择是否隐藏.`],["preserveRank",`控制是否在搜索框左侧显示排行榜图标.`],["blurVideoControl",`模糊视频控制栏背景, 原版的阴影效果将无效.`],["customControlBackground",`给视频控制栏附上半透明的黑色, 代替原来的阴影.`],["customControlBackgroundOpacity",`设置控制栏着色的黑色不透明度(0~1), 数值越大黑色越浓.`],["harunaScale",`根据屏幕DPI缩放直播看板娘的大小以提高像素的清晰度.`],["removeLiveWatermark",`删除观看直播时角落的水印.`],["removeVideoTopMask",`删除视频里鼠标经过时出现在右上角的覆盖层.`],["removeAds",`删除站内的各种广告. 包括首页的推广模块, 手机app推荐, 视频页面右侧的广告等.`],["watchLaterRedirect",`将稍后再看的链接重定向为普通播放网址, 以使用新版播放页面.`],["favoritesRedirect",`将个人空间收藏夹里的视频重定向为直链, 而不是收藏夹播单链接.`],["hideTopSearch",`将搜索框的推荐词替换为搜索.`],["fullTweetsTitle",`在顶栏的动态预览框中, 总是展开完整的视频标题.`],["fullPageTitle",`在视频选集列表中, 总是展开完整的标题.`],["showDeadVideoTitle",`在个人空间中, 为已失效视频恢复标题和封面.`],["useBiliplusRedirect",`将失效视频重定向到BiliPlus.`],["biliplusRedirect",`在视频/番剧/空间中, 附加功能"转到BiliPlus", 点击可以转到BiliPlus上对应的页面.`],["imageResolution",`根据屏幕DPI请求更高分辨率的图片, 例如DPI缩放200%则请求2倍的分辨率, 加载时间也会相应变长一些.`],["oldTweets",`将新版动态的链接换为旧版动态, 同时可在附加功能中在新旧动态间切换.`],["touchNavBar",`删除顶栏右侧的一级链接(从大会员历史), 以方便触屏设备快速预览信息. 被删除的链接可从各预览中的查看更多进入.`],["comboLike",`为素质三连(长按点赞)启用触摸支持.`],["touchVideoPlayer",`增大控制栏的按钮间距, 使触摸操作更准确. 并为播放器启用触摸支持:\n- 左右滑动可调整进度\n- 上下滑动可调整音量\n- 进度调整可在左上角和右上角取消\n- 在不同位置滑动, 可以使用3档不同的灵敏度.`],["touchVideoPlayerAnimation",`决定是否要对触摸调整的提示框使用出现/消失动画, 此动画可能导致掉帧.`],["touchVideoPlayerDoubleTapControl",`将操作方式更改为: 单击显示/隐藏控制栏, 双击播放/暂停.`],["toast",`允许在网页左下角显示来自本脚本的消息, 如更新提醒, 错误提示等.`],["toastInternalError",`开启后, 错误消息将显示详细的技术性错误信息及堆栈跟踪, 这通常用于准确地确定问题发生的原因, 所以报告问题时这些信息会非常有用.`],["useCache",`使用缓存以提高脚本的加载速度.`],["outerWatchlater",`将视频页面菜单里的稍后再看移到外面.`],["i18n",`为界面中一些常用文本提供翻译.`],["i18nLanguage",`翻译的目标语言.`],["customNavbar",`启用自定义顶栏, 替代原版的顶栏, 仅对主站生效, 不影响直播/相簿/会员购等.`],["customNavbarFill",`是否使用主题色填充顶栏.`],["allNavbarFill",`是否使用主题色填充其他的顶栏, 包括直播/相簿/会员购等.`],["customNavbarShadow",`是否为顶栏添加一层阴影效果.`],["customNavbarCompact",`是否为顶栏使用更紧凑的布局, 紧凑布局将使用更小的间距, 以及在视频标题过长时用...省略后面的部分.`],["customNavbarBlur",`是否在顶部横幅存在时, 使用背景模糊效果.`],["playerShadow",`为播放器添加主题色投影.`],["narrowDanmaku",`在网页全屏时, 即使宽度过小也强制保留弹幕发送栏, 注意这可能导致右侧的功能按钮挤出边界.`],["hideOldEntry",`隐藏播放页右侧的返回旧版入口.`],["hideBanner",`隐藏首页顶部横幅.`],["allowJumpContinue",`当历史记录的集数与当前打开的不一致时, 仍然自动跳转.`],["hideBangumiReviews",`隐藏番剧播放页面里的点评板块.`],["videoScreenshot",`启用视频快速截图, 将在播放器的时间右边增加一个截图按钮. 支持键盘快捷键Ctrl+Alt+C. (旧版播放器只能用键盘快捷键, 不会显示按钮)`],["filenameFormat",`自定义文件命名格式, 作用于下载弹幕, 下载视频, 视频截图, 查看封面.\n可以使用的变量有:\n- title: 视频标题/直播间标题\n- ep: 选集标题\n- aid: AV号\n- cid: CID (每个视频的唯一编号, AV号对应的视频可能有多集)\n- lid: 直播间号\n- y/M/d: 年/月/日\n- h/m/s/ms: 时/分/秒/毫秒\n\n默认的格式是[title][ - ep], 标题+选集标题, 当没有选集标题时则只有标题.\n\n变量要放在方括号里, 而方括号里的其他内容会在变量有效时出现. 比如格式如果写成[title] - [ep], 那么即使没有选集标题, 中间那个 - 也会出现在文件名里. 如果像默认那样放在方括号里, 没有选集标题时, - 也不会出现.\n\n例如, 想要标题+AV号+时间的格式, 可以设定为[title][ AVaid] [y]-[M]-[d] [h]-[m]-[s], 能够得到类似xxxx AV23333 2019-05-29 19-59-44的名字.`],["noLiveAutoplay",`禁止直播首页的推荐直播间自动开始播放.`],["hideHomeLive",`隐藏直播首页的推荐直播间板块.`],["sideBarOffset",`设定侧栏的垂直偏移量, 单位为百分比, 允许的范围为 -40% ~ 40%.`],["hideCategory",`隐藏主站的分区栏, 分区仍然可以从顶栏的主站菜单中进入.`],["foldComment",`动态里查看评论区时, 在底部添加一个收起评论按钮, 这样就不用再回到上面收起了.`]]);return{export:{toolTips:e}}}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/show-dead-video-title.min.js"] = (()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e){return{title:e.title,cover:e.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(s.data[e])}else{return{title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async queryInfo(e){const t=[];await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/add",`aid=${e}&csrf=${s.csrf}`)));const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const a=i.data.list.map(e=>{return{aid:e.aid,title:e.title,cover:e.pic}});t.push(...e.map(e=>a.find(t=>t.aid===parseInt(e))).filter(e=>e!==undefined));await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/del",`aid=${e}&csrf=${s.csrf}`)))}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}s.csrf=document.cookie.replace(/(?:(?:^|.*;\s*)bili_jct\s*\=\s*([^;]*).*$)|^.*$/,"$1");const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const i=t.map(e=>e.getAttribute("data-aid"));const a=new s;const r=await a.queryInfo(i);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const o=t.querySelector("a.cover");o.target="_blank";o.href=a;const n=r[i];if(n.cover!==""){o.querySelector("img").src=n.cover.replace("http:","https:")}const l=t.querySelector("a.title");l.target="_blank";l.title=n.title;l.href=a;l.innerText=n.title})})})()}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/show-dead-video-title.min.js"] = (()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e){return{title:e.title,cover:e.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(s.data[e])}else{return{title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async queryInfo(e){const t=[];await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/add",`aid=${e}&csrf=${s.csrf}`)));const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const a=i.data.list.map(e=>{return{aid:e.aid,title:e.title,cover:e.pic}});t.push(...e.map(e=>a.find(t=>t.aid===parseInt(e))).filter(e=>e!==undefined));await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/del",`aid=${e}&csrf=${s.csrf}`)))}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}s.csrf=document.cookie.replace(/(?:(?:^|.*;\s*)bili_jct\s*\=\s*([^;]*).*$)|^.*$/,"$1");const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const a=t.map(e=>e.getAttribute("data-aid"));const r=e.deadVideoTitleProvider==="Biliplus"?new i:new s;const o=await r.queryInfo(a);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const r=t.querySelector("a.cover");r.target="_blank";r.href=a;const l=o[i];if(l.cover!==""){r.querySelector("img").src=l.cover.replace("http:","https:")}const n=t.querySelector("a.title");n.target="_blank";n.title=l.title;n.href=a;n.innerText=l.title})})})()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-liveroom.min.css"] = `.simplify-fansMedal .fans-medal-item-ctnr,.simplify-giftMessage .chat-item.gift-item,.simplify-guard i.guard-icon,.simplify-guardPurchase .chat-item.guard-buy,.simplify-popup .chat-popups-section,.simplify-popup .link-popup-ctnr,.simplify-systemMessage .system-msg,.simplify-title .title-label,.simplify-userLevel .user-level-icon,.simplify-vip .vip-icon,.simplify-welcomeMessage .welcome-guard,.simplify-welcomeMessage .welcome-msg{display:none!important}.simplify-skin #gift-control-vm,.simplify-skin #head-info-vm,.simplify-skin #rank-list-ctnr-box{background-image:none!important}.simplify-guard .guard-danmaku::before{border-image:none!important;background-color:transparent!important}.simplify-guard .guard-danmaku{margin:0!important;padding:4px 5px!important}.simplify-guard .guard-danmaku::after{background-image:none!important}.simplify-liveroom-settings>ul>li{padding:8px 12px;display:flex;align-items:center}.simplify-liveroom-settings>ul>li:hover{background:rgba(0,0,0,.16)}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/simplify-liveroom.min.js"] = (()=>{return(e,i)=>{const s={vip:"老爷图标",fansMedal:"粉丝勋章",title:"活动头衔",userLevel:"用户等级",guard:"舰长图标",systemMessage:"全区广播",welcomeMessage:"欢迎信息",giftMessage:"礼物弹幕",guardPurchase:"上舰提示",popup:"抽奖提示",skin:"房间皮肤"};return{widget:{condition:()=>document.URL.startsWith(`https://live.bilibili.com/`),content:`\n
\n \n 简化直播间\n \n
\n `,success:()=>{const i=document.querySelector("#simplify-liveroom");const t=document.querySelector(".gui-settings-mask");i.addEventListener("click",e=>{const i=document.querySelector(".simplify-liveroom-settings");if(i.contains(e.target)||e.target===i){return}i.classList.toggle("opened")});i.addEventListener("mouseenter",()=>t.classList.add("transparent"));i.addEventListener("mouseleave",()=>t.classList.remove("transparent"));let n=e.simplifyLiveroomSettings.skin;const a=["#head-info-vm","#gift-control-vm","#rank-list-vm","#rank-list-ctnr-box",".gift-panel.base-panel",".gift-panel.extend-panel",".seeds-wrap>div:first-child",".gift-section>div:last-child",".z-gift-package>div>div",".right-action"];const c="live-skin-coloration-area";a.forEach(e=>{SpinQuery.select(e,i=>{Observer.attributes(e,e=>{e.forEach(e=>{if(e.attributeName==="class"){if(n&&i.classList.contains(c)){i.classList.remove(c)}else if(!n&&!i.classList.contains(c)){i.classList.add(c)}}})})})});const o=(e,i)=>{document.body.classList[e?"add":"remove"](`simplify-${i}`);if(i==="skin"){n=e;a.forEach(i=>{SpinQuery.select(i,i=>i.classList[e?"remove":"add"]("live-skin-coloration-area"))})}};new Vue({el:".simplify-liveroom-settings",data:{items:Object.entries(s).map(([i,s])=>{const t=e.simplifyLiveroomSettings[i];o(t,i);return{key:i,name:s,checked:t}})},methods:{itemClick(i){i.checked=!i.checked;o(i.checked,i.key);e.simplifyLiveroomSettings=Object.assign(e.simplifyLiveroomSettings,{[i.key]:i.checked})}}})}}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/skip-charge-list.min.css"] = `.bilibili-player .bilibili-player-area .bilibili-player-electric-panel{display:none!important}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/skip-charge-list.min.js"] = (()=>{return(e,i)=>{async function n(){const e=await SpinQuery.select(()=>document.querySelector("video"));e&&e.addEventListener("ended",async()=>{const e=await SpinQuery.select(()=>document.querySelector(".bilibili-player-electric-panel-jump"));e&&e.click()})}if(Observer.videoChange){Observer.videoChange(n)}else{Observer.childList("#bofqi",n)}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/slip.min.js"] = (()=>{return(t,e)=>{window["Slip"]=function(){"use strict";var t={container:{ariaRole:"listbox",tabIndex:0,focus:false},items:{ariaRole:"option",tabIndex:-1,focus:false}};var e=/Chrome\/[3-5]/.test(navigator.userAgent);var i=e;var n=e;var s=document.createElement("div").style;var o="transition"in s?"transition":"webkitTransition";var a="transform"in s?"transform":"webkitTransform";var r=a==="webkitTransform"?"-webkit-transform":"transform";var h="userSelect"in s?"userSelect":"webkitUserSelect";s[a]="translateZ(0)";var l=s[a]?"translateZ(0) ":"";var c=s[a]?"translateZ(1px) ":"";s=null;var u=0;var d=false;var f=function(){};function g(t,e){if("string"===typeof t)t=document.querySelector(t);if(!t||!t.addEventListener)throw new Error("Please specify DOM node to attach to");if(!this||this===window)return new g(t,e);this.options=e=e||{};this.options.keepSwipingPercent=e.keepSwipingPercent||0;this.options.minimumSwipeVelocity=e.minimumSwipeVelocity||1;this.options.minimumSwipeTime=e.minimumSwipeTime||110;this.options.ignoredElements=e.ignoredElements||[];if(!Array.isArray(this.options.ignoredElements))throw new Error("ignoredElements must be an Array");this.cancel=this.setState.bind(this,this.states.idle);this.onTouchStart=this.onTouchStart.bind(this);this.onTouchMove=this.onTouchMove.bind(this);this.onTouchEnd=this.onTouchEnd.bind(this);this.onMouseDown=this.onMouseDown.bind(this);this.onMouseMove=this.onMouseMove.bind(this);this.onMouseUp=this.onMouseUp.bind(this);this.onMouseLeave=this.onMouseLeave.bind(this);this.onSelection=this.onSelection.bind(this);this.onContainerFocus=this.onContainerFocus.bind(this);this.setState(this.states.idle);this.attach(t)}function m(t){var e=t.style[a];if(e){return{value:e,original:e}}if(window.getComputedStyle){var i=window.getComputedStyle(t).getPropertyValue(r);if(i&&i!=="none")return{value:i,original:""}}return{value:"",original:""}}function v(t,e){var i=0;var n=0;for(var s=0;s20&&t.y20){this.setState(this.states.idle)}if(t.x>t.y*1.2)return false},onLeave:function(){this.setState(this.states.idle)},onEnd:function(){var t=this.dispatch(this.target.originalTarget,"tap");this.setState(this.states.idle);return t}}},swipe:function t(){var e=false;var i=this.container;var n=v(this.target,this.container.childNodes);i.classList.add("slip-swiping-container");function s(){i.classList.remove("slip-swiping-container")}this.target.height=this.target.node.offsetHeight;return{leaveState:function(){if(e){this.animateSwipe(function(t){t.node.style[a]=t.baseTransform.original;if(this.dispatch(t.node,"afterswipe")){s();return true}else{this.animateToZero(undefined,t)}}.bind(this))}else{this.animateToZero(s)}},onMove:function(){var t=this.getTotalMovement();if(Math.abs(t.y)this.options.minimumSwipeVelocity&&t.time>this.options.minimumSwipeTime||this.options.keepSwipingPercent&&s>this.options.keepSwipingPercent;if(o){if(this.dispatch(this.target.node,"swipe",{direction:t.directionX,originalIndex:n})){e=true}}else{this.dispatch(this.target.node,"cancelswipe")}this.setState(this.states.idle);return!o}}},reorder:function e(){if(this.target.node.focus&&t.items.focus){this.target.node.focus()}this.target.height=this.target.node.offsetHeight;var i;if(this.options.ignoredElements.length){var s=this.container;var o=s.tagName.toLowerCase();if(s.getAttribute("id")){o="#"+s.getAttribute("id")}else if(s.classList.length){o+="."+s.getAttribute("class").replace(" ",".")}o+=" > ";this.options.ignoredElements.forEach(function(t){o+=":not("+t+")"});try{i=s.parentNode.querySelectorAll(o)}catch(t){if(t instanceof DOMException&&t.name==="SyntaxError")throw new Error("ignoredElements you specified contain invalid query");else throw t}}else{i=this.container.childNodes}var r=v(this.target,i);var u;var d=this.target.node.offsetTop+this.target.height/2;var f=[];for(var g=0;gt.y){n=e}else if(i.pos>0&&t.y>0&&i.post.y){break}}i=e}else{for(e=f.length-1;e>=0;e--){if(f[e].pos1){this.setState(this.states.idle);return}if(!this.setTarget(t))return;this.startAtPosition({x:t.touches[0].clientX,y:t.touches[0].clientY,time:t.timeStamp})},setTarget:function(t){var e=this.findTargetNode(t.target);if(!e){this.setState(this.states.idle);return false}var i=this.options.scrollContainer;if(!i){var n=document.scrollingElement||document.documentElement;i=e.parentNode;while(i){if(i==n)break;if(i!=document.body&&i.scrollHeight>i.clientHeight&&window.getComputedStyle(i)["overflow-y"]!="visible")break;i=i.parentNode}i=i||n}this.target={originalTarget:t.target,node:e,scrollContainer:i,origScrollTop:i.scrollTop,origScrollHeight:i.scrollHeight,baseTransform:m(e)};return true},startAtPosition:function(t){this.startPosition=this.previousPosition=this.latestPosition=t;this.setState(this.states.undecided)},updatePosition:function(t,e){if(this.target==null){return}this.latestPosition=e;if(this.state.onMove){if(this.state.onMove.call(this)===false){t.preventDefault()}}if(this.latestPosition.time-this.previousPosition.time>100){this.previousPosition=this.latestPosition}},onMouseMove:function(t){t.stopPropagation();this.updatePosition(t,{x:t.clientX,y:t.clientY,time:t.timeStamp})},onTouchMove:function(t){t.stopPropagation();this.updatePosition(t,{x:t.touches[0].clientX,y:t.touches[0].clientY,time:t.timeStamp});this.canPreventScrolling=false},onMouseUp:function(t){t.stopPropagation();if(this.usingTouch||t.button!==0)return;if(this.state.onEnd&&false===this.state.onEnd.call(this)){t.preventDefault()}},onTouchEnd:function(t){t.stopPropagation();if(t.touches.length>1){this.cancel()}else if(this.state.onEnd&&false===this.state.onEnd.call(this)){t.preventDefault()}},getTotalMovement:function(){var t=this.target.scrollContainer.scrollTop-this.target.origScrollTop;return{x:this.latestPosition.x-this.startPosition.x,y:this.latestPosition.y-this.startPosition.y+t,time:this.latestPosition.time-this.startPosition.time}},getAbsoluteMovement:function(){var t=this.getTotalMovement();return{x:Math.abs(t.x),y:Math.abs(t.y),time:t.time,directionX:t.x<0?"left":"right",directionY:t.y<0?"up":"down"}},updateScrolling:function(){var t=40,e=0;var i=this.target.scrollContainer,n=i.getBoundingClientRect(),s=this.target.node.getBoundingClientRect(),o=Math.min(n.bottom,window.innerHeight)-s.bottom,a=s.top-Math.max(n.top,0),r=this.target.origScrollHeight-Math.min(i.clientHeight,window.innerHeight);if(o0?"":"-")+"100%,0) "+l+e.baseTransform.value;setTimeout(function(){if(t.call(this,e)){i.forEach(function(t){t.node.style[a]=n+t.baseTransform.value});setTimeout(function(){i.forEach(function(t){t.node.style[a]="translate(0,0) "+l+t.baseTransform.value});setTimeout(function(){i.forEach(function(t){t.node.style[a]=t.baseTransform.original})},101)},1)}}.bind(this),101)}};if("function"===typeof define&&define.amd){define(function(){return g})}if("object"===typeof module&&module.exports){module.exports=g}return g}()}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/style.min.css"] = `.bili-wrapper{display:flex!important;justify-content:center!important;align-items:center!important;height:50px!important}.bili-header-m>.nav-menu,.link-navbar,.link-navbar .main-ctnr .nav-items-ctnr,.link-navbar-ctnr .link-navbar,.link-navbar-ctnr .link-navbar .main-ctnr .nav-items-ctnr,.nav-header-wrapper{background:var(--theme-color)!important}.bili-header-m>.nav-menu,.link-navbar-ctnr,.nav-header-wrapper{box-shadow:var(--theme-color-70) 0 2px 10px 1px!important}div.stardust-player{background:#fff!important}.nav-header-wrapper>.nav-header,.nav-mask{background-color:transparent!important}.link-navbar,.nav-mask{box-shadow:none!important}.nav-con{flex-grow:10!important;flex-shrink:0!important}.nav-con.fl{margin-left:-2em!important}.nav-search-box{margin:9px 0 0!important}.bili-header-m .nav-menu .nav-con .nav-item .t,.link-navbar .main-ctnr .custom-link>a,.link-navbar .main-ctnr .nav-logo,.link-navbar .main-ctnr .nav-switcher,.link-navbar .nav-item,.link-navbar .nav-item .icon-font,.link-navbar .nav-item.selected .label,.link-navbar .nav-item:hover,.my-link-btn,.nav-header-wrapper .nav-header .nav-header-mainsite,.nav-header-wrapper .nav-header .order-center,.shortcuts-ctnr,.shortcuts-ctnr .shortcut-item,.stardust-video .nav-menu .nav-con .nav-item.home .drop,.stardust-video .nav-menu .nav-con .nav-item.home .header-icon-Navbar_logo{color:var(--foreground-color-d)!important}.stardust-video .nav-menu .nav-con .nav-item.home .header-icon-Navbar_logo{transform:scale(.75)!important;top:7px!important}.stardust-video .nav-menu .up-load .up-nav{top:42px!important}.link-navbar .nav-item:hover,.link-navbar-ctnr .link-navbar .nav-item:hover,.link-navbar-ctnr .shortcuts-ctnr .shortcut-item:hover,.my-link-btn:hover,.publish-btn:hover,.shortcuts-ctnr .shortcut-item:hover,li.nav-item:not(.profile-info):hover{background-color:hsla(0,0%,var(--brightness),.2)!important}.link-navbar .nav-item:hover .nav-link .label,.my-link-btn .label:hover,.publish-btn:hover::after,.shortcuts-ctnr .shortcut-item .label-wrapper .text:hover,li.nav-item.home:hover{background:0 0!important}.vip-m{background:#fff!important}a.t>i.bili-icon,a.t>i.bili-icon-logo{width:50px!important;left:-60px!important;top:0!important;height:50px!important;background-position-y:12px!important}.link-navbar .nav-item:first-child::before,.main-ctnr .nav-logo:before,.nav-header-wrapper .nav-header .nav-header-logo,.nav-header-wrapper .nav-header .nav-header-tv-icon,.nav-header-wrapper .nav-header .order-icon,a.t>i.bili-icon,a.t>i.bili-icon-logo{filter:brightness(0) var(--invert-filter)!important;opacity:.81!important}#entryOld,.b-icon-app,.blp-red-tip::after,.main-container .entry-old,.nav-search-submit,.title-icon,body>#Header{display:none!important}.bilibili-player-video-inputbar{display:flex!important}.i-face>.face,.user-panel-ctnr .msg-hinter{box-shadow:0 0 2px 1.5px #0002!important}div.up-load{margin-top:8px!important;margin-left:9px!important;height:32px!important;order:4!important;flex-grow:0;flex-shrink:0}.stardust-video .nav-menu .nav-wrapper{padding:0 5rem!important}.publish-btn{height:40px!important;line-height:40px!important;background:var(--theme-color)!important;border:1px solid!important;border-radius:5px!important;box-shadow:none!important;top:calc(50% - 20px)!important;transition:.2s!important}.publish-panel{margin-top:7px!important}.my-link-btn{border-radius:0!important}.main-ctnr .search-bar-ctnr .search-bar input,.slot-ctnr a{color:#222!important}.main-ctnr .search-bar-ctnr .search-bar .placeholder,.main-ctnr .search-bar-ctnr .search-bar .search-btn{color:#878787!important}.main-ctnr .search-bar-ctnr .search-bar{border:none!important;box-shadow:0 2px 10px 1px #0002!important}.u-link{background:0 0!important;color:var(--foreground-color-d)!important;border-radius:4px!important;line-height:30px!important;height:30px!important;transition:background-color .2s!important}.shortcuts-ctnr .shortcut-item .hinter,.shortcuts-ctnr .shortcut-item .num-hinter,.u-link{border:1px solid!important}.u-link:hover{opacity:1!important;background-color:hsla(0,0%,var(--brightness),.2)!important}#nav_searchform,.stardust-video .nav-con .nav-search{width:130px!important}.stardust-video .nav-con .nav-search .nav-search-keyword{color:#222!important;width:120px!important;padding-right:32px}.nav-header-wrapper .nav-header .nav-header-search-bar,.stardust-video .nav-con #nav_searchform{border-radius:4px!important;background:#fffb!important;border:none!important;transition:background-color .2s!important;box-shadow:0 2px 10px 1px #0002;padding-right:0!important}.search-bar-ctnr .search-bar{background-color:#fffd!important;transition:.2s!important}.nav-header-wrapper .nav-header .nav-header-search-bar:focus-within,.nav-header-wrapper .nav-header .nav-header-search-bar:hover,.search-bar-ctnr .search-bar:focus-within,.search-bar-ctnr .search-bar:hover,.stardust-video .nav-con #nav_searchform:focus-within,.stardust-video .nav-con #nav_searchform:hover{background-color:#fff!important}#bilibiliPlayer{box-shadow:0 4px 16px 0 var(--theme-color-40)!important}.blur-bg{opacity:var(--blur-background-opacity)!important;filter:blur(20px)!important}.suggest-item .cancel{width:28px!important}.stardust-video .nav-con ul.bilibili-suggest{margin-left:-35px!important;width:200px!important}li.suggest-item>a{max-width:155px!important}.nav-item div.num{box-shadow:0 .5px 4px 0 #0004!important}#primary_menu,#primary_menu>ul.nav-menu{display:flex!important;align-items:center!important}.bilibili-player-video-btn-quality{width:auto!important;margin:0 6px!important}#primary_menu,div.nav-gif{padding:0!important}.filter-item.search,body{margin:0!important}.input-box textarea{padding:8px!important}.link-navbar .main-ctnr .nav-switcher.open-btn{filter:brightness(0) invert(1)!important;opacity:.8!important}.guard-rank-cntr.open .tip.rank-desc{visibility:visible!important}.guard-rank-cntr .rank-cntr .tip{visibility:hidden!important}.tag-container .tag-item .tag-border .tag-border-inner{width:100%!important}.bilibili-player-video-control{background-color:transparent!important}.mouse-hover .bilibili-player-video-control-top,.video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:32px!important}.bilibili-player-video-control-top{left:-12px!important;right:-12px!important;bottom:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control-wrap{bottom:0!important}.showSearch .nav-search-submit{top:6px!important}.nav-header-wrapper .nav-header .nav-header-search-bar::placeholder,.search-bar-ctnr .search-bar .search-btn,.search-bar-ctnr .search-bar input::placeholder{color:#888!important}.card-list .card{border:none!important;border-radius:4px!important}@media only screen and (min-width:1291px){.nav-con{margin:0 1em!important}#nav_searchform,.stardust-video .nav-con .bilibili-suggest.nav,.stardust-video .nav-con .nav-search{width:250px!important}.stardust-video .nav-con .nav-search .nav-search-keyword{width:240px!important}.stardust-video .nav-con ul.bilibili-suggest{margin-left:0!important;width:250px!important}.stardust-video .nav-con li.suggest-item>a{max-width:205px!important}}@media screen and (min-width:750px){.player .bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:-12px!important;right:-12px!important;bottom:0!important}.mode-fullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-fullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.mouse-hover:not(.disable-original-hover) .bilibili-player-video-control-top,.mode-webfullscreen .bilibili-player-area.video-control-show:not(.disable-original-hover) .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:42px!important}}`; -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/text-validate.min.js"] = (()=>{return(e,t)=>{class a{constructor(e){this.key=e}get originalValue(){return e[this.key]}static getValidator(e){switch(e){case"customStyleColor":return new s(e);case"blurBackgroundOpacity":case"customControlBackgroundOpacity":case"customNavbarBlurOpacity":return new i(e);case"defaultPlayerMode":case"defaultVideoQuality":case"i18nLanguage":return new r(e);case"darkScheduleStart":case"darkScheduleEnd":return new n(e);case"playerFocusOffset":return new u(e);case"sideBarOffset":return new o(e,-40,40);default:return new a(e)}}isValidate(e){return e}validate(e){const t=this.isValidate(e);if(t===undefined){return this.originalValue}return t}}class s extends a{isValidate(e){if(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(e)){if(e.length<7){return`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`}else{return e}}}}class i extends a{isValidate(e){if(/^([-+]?\d+)(\.\d+)?$/.test(e)){const t=parseFloat(e);if(t>=0&&t<=1){return e}}}}class r extends a{isValidate(e){const[t]=Object.values(Resource.manifest).filter(e=>e.dropdown&&e.dropdown.key===this.key).map(e=>e.dropdown);if(t.items.indexOf(e)!==-1){return e}}}class n extends a{isValidate(e){const t=e.match(/^([\d]{1,2}):([\d]{1,2})$/);if(t&&t.length>=3){const e={hour:parseInt(t[1]),minute:parseInt(t[2])};(function(){while(this.minute<0){this.minute+=60;this.hour-=1}while(this.minute>=60){this.minute-=60;this.hour+=1}while(this.hour<0){this.hour+=24}while(this.hour>=24){this.hour-=24}}).call(e);return`${e.hour}:${e.minute<10?"0"+e.minute:e.minute}`}}}class u extends a{isValidate(e){const t=parseInt(e);if(!isNaN(t)){return t}}}class o extends a{constructor(e,t,a){super(e);this.min=t;this.max=a}isValidate(e){const t=parseInt(e);if(!isNaN(t)&&t>=this.min&&t<=this.max){return t}}}return{export:{Validator:a,ColorValidator:s,DropDownValidator:r,OpacityValidator:i,TimeValidator:n,NumberValidator:u}}}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/text-validate.min.js"] = (()=>{return(e,t)=>{class a{constructor(e){this.key=e}get originalValue(){return e[this.key]}static getValidator(e){switch(e){case"customStyleColor":return new i(e);case"blurBackgroundOpacity":case"customControlBackgroundOpacity":case"customNavbarBlurOpacity":return new s(e);case"defaultPlayerMode":case"defaultVideoQuality":case"i18nLanguage":case"deadVideoTitleProvider":return new r(e);case"darkScheduleStart":case"darkScheduleEnd":return new n(e);case"playerFocusOffset":return new u(e);case"sideBarOffset":return new o(e,-40,40);default:return new a(e)}}isValidate(e){return e}validate(e){const t=this.isValidate(e);if(t===undefined){return this.originalValue}return t}}class i extends a{isValidate(e){if(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(e)){if(e.length<7){return`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`}else{return e}}}}class s extends a{isValidate(e){if(/^([-+]?\d+)(\.\d+)?$/.test(e)){const t=parseFloat(e);if(t>=0&&t<=1){return e}}}}class r extends a{isValidate(e){const[t]=Object.values(Resource.manifest).filter(e=>e.dropdown&&e.dropdown.key===this.key).map(e=>e.dropdown);if(t.items.indexOf(e)!==-1){return e}}}class n extends a{isValidate(e){const t=e.match(/^([\d]{1,2}):([\d]{1,2})$/);if(t&&t.length>=3){const e={hour:parseInt(t[1]),minute:parseInt(t[2])};(function(){while(this.minute<0){this.minute+=60;this.hour-=1}while(this.minute>=60){this.minute-=60;this.hour+=1}while(this.hour<0){this.hour+=24}while(this.hour>=24){this.hour-=24}}).call(e);return`${e.hour}:${e.minute<10?"0"+e.minute:e.minute}`}}}class u extends a{isValidate(e){const t=parseInt(e);if(!isNaN(t)){return t}}}class o extends a{constructor(e,t,a){super(e);this.min=t;this.max=a}isValidate(e){const t=parseInt(e);if(!isNaN(t)&&t>=this.min&&t<=this.max){return t}}}return{export:{Validator:a,ColorValidator:i,DropDownValidator:r,OpacityValidator:s,TimeValidator:n,NumberValidator:u}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/theme-colors.min.js"] = (()=>{return(e,r)=>{const t={red:"#e57373",pink:"#F06292",purple:"#BA68C8",deepPurple:"#9575CD",indigo:"#7986CB",blue:"#2196F3",lightBlue:"#00A0D8",cyan:"#00ACC1",teal:"#26A69A",green:"#81C784",lightGreen:"#9CCC65",orange:"#FF9800",deepOrange:"#FF7043",brown:"#A1887F",grey:"#757575",blueGrey:"#78909C"};class o{constructor(){this.reloadColor=(()=>{const e=document.querySelector("html");return function(r){const t=new ColorProcessor(r);const o=e=>t.rgbToString(t.hexToRgba(e));const n=t.hexToRgba(r+"70");const l=document.querySelector("div.custom-color-preview");l.style.background=r;l.style.boxShadow=`0px 2px 8px 1px rgba(${n.r},${n.g},${n.b},${n.a})`;e.style.setProperty("--theme-color",r);for(let t=10;t<=90;t+=10){e.style.setProperty(`--theme-color-${t}`,o(r+t))}e.style.setProperty("--foreground-color",t.foreground);e.style.setProperty("--foreground-color-b",o(t.foreground+"b"));e.style.setProperty("--foreground-color-d",o(t.foreground+"d"));e.style.setProperty("--blue-image-filter",t.blueImageFilter);e.style.setProperty("--pink-image-filter",t.pinkImageFilter);e.style.setProperty("--brightness",t.brightness);e.style.setProperty("--invert-filter",t.filterInvert)}})()}setupDom(){const e=document.querySelector(`input[key='customStyleColor']`);e.addEventListener("change",()=>{this.reloadColor(e.value)});const r=document.querySelector(".predefined-colors-grid");for(const o of Object.values(t)){const t=document.createElement("div");r.insertAdjacentElement("beforeend",t);t.classList.add("predefined-colors-grid-block");t.style.background=o;t.setAttribute("data-color",o);t.addEventListener("click",r=>{const t=r.target.getAttribute("data-color");e.value=t;raiseEvent(e,"input");raiseEvent(e,"change")})}const o=document.querySelector(".predefined-colors");document.querySelector("div.custom-color-preview").addEventListener("click",()=>{o.classList.toggle("opened")})}}return{export:{ThemeColors:o}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/title.min.js"] = (()=>{return(e,t)=>{function i(e=true){const t=document.title.replace("_番剧_bilibili_哔哩哔哩","").replace("_电影_bilibili_哔哩哔哩","").replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace(" - 哔哩哔哩直播,二次元弹幕直播平台","").replace(/[\/\\:\*\?"<>\|]/g,"").trim();if(!e||document.URL.indexOf("/bangumi")!==-1){return t}else{const e=document.querySelector("#multi_page .cur-list>ul li.on a");if(e===null){return t}else{const i=e.getAttribute("title");return t+" - "+i}}}function r(t=true){if(e.filenameFormat===undefined){return i(t)}const r=new Date;const l={title:document.title.replace("_番剧_bilibili_哔哩哔哩","").replace("_电影_bilibili_哔哩哔哩","").replace("_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili","").replace(/(.*?) - (.*?) - 哔哩哔哩直播,二次元弹幕直播平台/,"$1").trim(),ep:(()=>{if(!t){return null}const e=document.querySelector("#multi_page .cur-list>ul li.on a");if(e===null){return null}else{return e.getAttribute("title")}})(),aid:unsafeWindow.aid,cid:unsafeWindow.cid,lid:document.URL.replace(/https:\/\/live\.bilibili\.com\/(\d+).*/,"$1"),y:r.getFullYear().toString(),M:(r.getMonth()+1).toString().padStart(2,"0"),d:r.getDate().toString().padStart(2,"0"),h:r.getHours().toString().padStart(2,"0"),m:r.getMinutes().toString().padStart(2,"0"),s:r.getSeconds().toString().padStart(2,"0"),ms:r.getMilliseconds().toString().substr(0,3)};const n=Object.keys(l).reduce((e,t)=>{return e.replace(new RegExp(`\\[([^\\[\\]]*?)${t}([^\\[\\]]*?)\\]`,"g"),l[t]?`$1${l[t]}$2`:"")},e.filenameFormat);return n.replace(/[\/\\:\*\?"<>\|]/g,"")}return{export:{getFriendlyTitle:r}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.css"] = `.toast-card-container{position:fixed;left:16px;bottom:16px;display:flex;flex-direction:column;align-items:start;z-index:100001}.toast-card{background:#fff;min-width:240px;max-width:60vw;min-height:0;max-height:0;box-shadow:0 4px 16px 1px rgba(0,0,0,.3);transition:.3s cubic-bezier(0,.65,.58,1);transform:translateX(-150%);transform-origin:left;overflow:hidden;display:flex;flex-direction:column;border-left-width:4px;border-left-style:solid}.toast-card.visible{min-height:96px;max-height:unset;transform:translateX(0);margin-top:16px}.toast-card-header{display:flex;align-items:center}.toast-card-title{font-size:18px;color:#000;opacity:.5;margin:16px;font-weight:700;flex:1 1 auto}.toast-card-dismiss{height:24px;width:24px;flex:0 0 auto;padding:16px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:.2s ease-out;transform-origin:center;opacity:.5}.toast-card-dismiss:hover{transform:scale(1.2)}.toast-card-dismiss:active{transform:scale(1.1)}.toast-card-message{color:#000;font-size:14px;margin:0 16px 16px;white-space:pre-wrap;display:flex;align-items:center}.toast-card.toast-default{border-left-color:#444}.toast-card.toast-error{border-left-color:#f44336}.toast-card.toast-info{border-left-color:#2196f3}.toast-card.toast-success{border-left-color:#8bc34a}.toast-card .link,.toast-card span{display:inline-block;padding:4px 6px;margin:0 2px;background-color:rgba(0,0,0,.1);text-decoration:none;color:#000;transition:.2s ease-out}.toast-card .link:hover{background-color:rgba(0,0,0,.2)}.toast-card .link:active{background-color:rgba(0,0,0,.1)}@keyframes loading{0%,100%{top:0;left:50%}25%{top:50%;left:100%}50%{top:100%;left:50%}75%{top:50%;left:0}}.toast-card .loading{width:14px;height:14px;display:inline-block;margin-right:14px;position:relative}.toast-card .loading::after{content:"";width:10px;height:10px;background-color:#8884;border-radius:50%;display:block;transform:translateX(-50%) translateY(-50%);position:absolute;top:0;left:50%;animation:1s cubic-bezier(.22,.61,.36,1) infinite loading}`; @@ -1759,8 +1760,13 @@ Resource.manifest = { path: 'show-dead-video-title.min.js', displayNames: { showDeadVideoTitle: '显示失效视频信息', - useBiliplusRedirect: '失效视频重定向' - } + useBiliplusRedirect: '失效视频重定向', + deadVideoTitleProvider: '信息来源', + }, + dropdown: { + key: 'deadVideoTitleProvider', + items: ['稍后再看', 'Biliplus'], + }, }, autoPlay: { path: 'auto-play.min.js', diff --git a/bilibili-evolved.preview.user.js b/bilibili-evolved.preview.user.js index 6bf17e60a..4c3a02f37 100644 --- a/bilibili-evolved.preview.user.js +++ b/bilibili-evolved.preview.user.js @@ -194,6 +194,7 @@ const settings = { allowJumpContinue: false, autoPlay: false, showDeadVideoTitle: false, + deadVideoTitleProvider: '稍后再看', useBiliplusRedirect: false, biliplusRedirect: false, framePlayback: true, @@ -1674,8 +1675,13 @@ Resource.manifest = { path: 'show-dead-video-title.min.js', displayNames: { showDeadVideoTitle: '显示失效视频信息', - useBiliplusRedirect: '失效视频重定向' - } + useBiliplusRedirect: '失效视频重定向', + deadVideoTitleProvider: '信息来源', + }, + dropdown: { + key: 'deadVideoTitleProvider', + items: ['稍后再看', 'Biliplus'], + }, }, autoPlay: { path: 'auto-play.min.js', diff --git a/bilibili-evolved.user.js b/bilibili-evolved.user.js index e7d987783..0902aa1c6 100644 --- a/bilibili-evolved.user.js +++ b/bilibili-evolved.user.js @@ -194,6 +194,7 @@ const settings = { allowJumpContinue: false, autoPlay: false, showDeadVideoTitle: false, + deadVideoTitleProvider: '稍后再看', useBiliplusRedirect: false, biliplusRedirect: false, framePlayback: true, @@ -1674,8 +1675,13 @@ Resource.manifest = { path: 'show-dead-video-title.min.js', displayNames: { showDeadVideoTitle: '显示失效视频信息', - useBiliplusRedirect: '失效视频重定向' - } + useBiliplusRedirect: '失效视频重定向', + deadVideoTitleProvider: '信息来源', + }, + dropdown: { + key: 'deadVideoTitleProvider', + items: ['稍后再看', 'Biliplus'], + }, }, autoPlay: { path: 'auto-play.min.js', diff --git a/client/resource-manifest.js b/client/resource-manifest.js index 6c67885b8..e3b01870e 100644 --- a/client/resource-manifest.js +++ b/client/resource-manifest.js @@ -422,8 +422,13 @@ Resource.manifest = { path: 'show-dead-video-title.min.js', displayNames: { showDeadVideoTitle: '显示失效视频信息', - useBiliplusRedirect: '失效视频重定向' - } + useBiliplusRedirect: '失效视频重定向', + deadVideoTitleProvider: '信息来源', + }, + dropdown: { + key: 'deadVideoTitleProvider', + items: ['稍后再看', 'Biliplus'], + }, }, autoPlay: { path: 'auto-play.min.js', diff --git a/client/settings.js b/client/settings.js index 68cdbd898..f02371df3 100644 --- a/client/settings.js +++ b/client/settings.js @@ -73,6 +73,7 @@ export const settings = { allowJumpContinue: false, autoPlay: false, showDeadVideoTitle: false, + deadVideoTitleProvider: '稍后再看', useBiliplusRedirect: false, biliplusRedirect: false, framePlayback: true, diff --git a/min/gui-settings.min.html b/min/gui-settings.min.html index 7d2a96169..48d976391 100644 --- a/min/gui-settings.min.html +++ b/min/gui-settings.min.html @@ -1 +1 @@ -
附加功能
空空如也哦 = ̄ω ̄=
设置
  • 视频
  • 样式
  • 工具
  • 触摸
  • 其他
\ No newline at end of file +
附加功能
空空如也哦 = ̄ω ̄=
设置
  • 视频
  • 样式
  • 工具
  • 触摸
  • 其他
\ No newline at end of file diff --git a/min/show-dead-video-title.min.js b/min/show-dead-video-title.min.js index 6d0b6ef8c..8ddd75377 100644 --- a/min/show-dead-video-title.min.js +++ b/min/show-dead-video-title.min.js @@ -1 +1 @@ -(()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e){return{title:e.title,cover:e.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(s.data[e])}else{return{title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async queryInfo(e){const t=[];await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/add",`aid=${e}&csrf=${s.csrf}`)));const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const a=i.data.list.map(e=>{return{aid:e.aid,title:e.title,cover:e.pic}});t.push(...e.map(e=>a.find(t=>t.aid===parseInt(e))).filter(e=>e!==undefined));await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/del",`aid=${e}&csrf=${s.csrf}`)))}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}s.csrf=document.cookie.replace(/(?:(?:^|.*;\s*)bili_jct\s*\=\s*([^;]*).*$)|^.*$/,"$1");const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const i=t.map(e=>e.getAttribute("data-aid"));const a=new s;const r=await a.queryInfo(i);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const o=t.querySelector("a.cover");o.target="_blank";o.href=a;const n=r[i];if(n.cover!==""){o.querySelector("img").src=n.cover.replace("http:","https:")}const l=t.querySelector("a.title");l.target="_blank";l.title=n.title;l.href=a;l.innerText=n.title})})})()}})(); \ No newline at end of file +(()=>{return(e,t)=>{(async()=>{if(!document.URL.startsWith("https://space.bilibili.com")){return}class t{}class i extends t{convertToDeadVideoInfo(e){return{title:e.title,cover:e.pic}}async queryInfo(e){const t=[];if(e.length<=i.MaxCountPerRequest){const s=await Ajax.getJson(`${i.BiliplusHost}/api/aidinfo?aid=${e.join(",")}`);if(s.code===0){t.push(...e.map(e=>{if(e in s.data){return this.convertToDeadVideoInfo(s.data[e])}else{return{title:"已失效视频",cover:""}}}))}else{console.error(`[显示失效视频信息] Biliplus API 未成功. message=${s.message}`)}}else{t.push(...await this.queryInfo(e.slice(0,i.MaxCountPerRequest)));t.push(...await this.queryInfo(e.slice(i.MaxCountPerRequest)))}return t}}i.BiliplusHost=`https://hd.biliplus.com`;i.MaxCountPerRequest=30;class s extends t{async queryInfo(e){const t=[];await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/add",`aid=${e}&csrf=${s.csrf}`)));const i=await Ajax.getJsonWithCredentials("https://api.bilibili.com/x/v2/history/toview/web");if(i.code===0){const a=i.data.list.map(e=>{return{aid:e.aid,title:e.title,cover:e.pic}});t.push(...e.map(e=>a.find(t=>t.aid===parseInt(e))).filter(e=>e!==undefined));await Promise.all(e.map(e=>Ajax.postTextWithCredentials("https://api.bilibili.com/x/v2/history/toview/del",`aid=${e}&csrf=${s.csrf}`)))}else{console.error(`[显示失效视频信息] 稍后再看 API 未成功. message=${i.message}`)}return t}}s.csrf=document.cookie.replace(/(?:(?:^|.*;\s*)bili_jct\s*\=\s*([^;]*).*$)|^.*$/,"$1");const a=await SpinQuery.select("#app>.s-space");if(!a){return}Observer.childListSubtree(a,async()=>{const t=dqa(".disabled[data-aid]");if(t.length===0){return}const a=t.map(e=>e.getAttribute("data-aid"));const r=e.deadVideoTitleProvider==="Biliplus"?new i:new s;const o=await r.queryInfo(a);t.forEach((t,i)=>{t.classList.remove("disabled");const s=t.getAttribute("data-aid");const a=(()=>{if(e.useBiliplusRedirect){return`https://hd.biliplus.com/video/av${s}`}else{return`//www.bilibili.com/video/av${s}`}})();const r=t.querySelector("a.cover");r.target="_blank";r.href=a;const l=o[i];if(l.cover!==""){r.querySelector("img").src=l.cover.replace("http:","https:")}const n=t.querySelector("a.title");n.target="_blank";n.title=l.title;n.href=a;n.innerText=l.title})})})()}})(); \ No newline at end of file diff --git a/min/text-validate.min.js b/min/text-validate.min.js index 95d0b88f9..83529cd36 100644 --- a/min/text-validate.min.js +++ b/min/text-validate.min.js @@ -1 +1 @@ -(()=>{return(e,t)=>{class a{constructor(e){this.key=e}get originalValue(){return e[this.key]}static getValidator(e){switch(e){case"customStyleColor":return new s(e);case"blurBackgroundOpacity":case"customControlBackgroundOpacity":case"customNavbarBlurOpacity":return new i(e);case"defaultPlayerMode":case"defaultVideoQuality":case"i18nLanguage":return new r(e);case"darkScheduleStart":case"darkScheduleEnd":return new n(e);case"playerFocusOffset":return new u(e);case"sideBarOffset":return new o(e,-40,40);default:return new a(e)}}isValidate(e){return e}validate(e){const t=this.isValidate(e);if(t===undefined){return this.originalValue}return t}}class s extends a{isValidate(e){if(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(e)){if(e.length<7){return`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`}else{return e}}}}class i extends a{isValidate(e){if(/^([-+]?\d+)(\.\d+)?$/.test(e)){const t=parseFloat(e);if(t>=0&&t<=1){return e}}}}class r extends a{isValidate(e){const[t]=Object.values(Resource.manifest).filter(e=>e.dropdown&&e.dropdown.key===this.key).map(e=>e.dropdown);if(t.items.indexOf(e)!==-1){return e}}}class n extends a{isValidate(e){const t=e.match(/^([\d]{1,2}):([\d]{1,2})$/);if(t&&t.length>=3){const e={hour:parseInt(t[1]),minute:parseInt(t[2])};(function(){while(this.minute<0){this.minute+=60;this.hour-=1}while(this.minute>=60){this.minute-=60;this.hour+=1}while(this.hour<0){this.hour+=24}while(this.hour>=24){this.hour-=24}}).call(e);return`${e.hour}:${e.minute<10?"0"+e.minute:e.minute}`}}}class u extends a{isValidate(e){const t=parseInt(e);if(!isNaN(t)){return t}}}class o extends a{constructor(e,t,a){super(e);this.min=t;this.max=a}isValidate(e){const t=parseInt(e);if(!isNaN(t)&&t>=this.min&&t<=this.max){return t}}}return{export:{Validator:a,ColorValidator:s,DropDownValidator:r,OpacityValidator:i,TimeValidator:n,NumberValidator:u}}}})(); \ No newline at end of file +(()=>{return(e,t)=>{class a{constructor(e){this.key=e}get originalValue(){return e[this.key]}static getValidator(e){switch(e){case"customStyleColor":return new i(e);case"blurBackgroundOpacity":case"customControlBackgroundOpacity":case"customNavbarBlurOpacity":return new s(e);case"defaultPlayerMode":case"defaultVideoQuality":case"i18nLanguage":case"deadVideoTitleProvider":return new r(e);case"darkScheduleStart":case"darkScheduleEnd":return new n(e);case"playerFocusOffset":return new u(e);case"sideBarOffset":return new o(e,-40,40);default:return new a(e)}}isValidate(e){return e}validate(e){const t=this.isValidate(e);if(t===undefined){return this.originalValue}return t}}class i extends a{isValidate(e){if(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(e)){if(e.length<7){return`#${e[1]}${e[1]}${e[2]}${e[2]}${e[3]}${e[3]}`}else{return e}}}}class s extends a{isValidate(e){if(/^([-+]?\d+)(\.\d+)?$/.test(e)){const t=parseFloat(e);if(t>=0&&t<=1){return e}}}}class r extends a{isValidate(e){const[t]=Object.values(Resource.manifest).filter(e=>e.dropdown&&e.dropdown.key===this.key).map(e=>e.dropdown);if(t.items.indexOf(e)!==-1){return e}}}class n extends a{isValidate(e){const t=e.match(/^([\d]{1,2}):([\d]{1,2})$/);if(t&&t.length>=3){const e={hour:parseInt(t[1]),minute:parseInt(t[2])};(function(){while(this.minute<0){this.minute+=60;this.hour-=1}while(this.minute>=60){this.minute-=60;this.hour+=1}while(this.hour<0){this.hour+=24}while(this.hour>=24){this.hour-=24}}).call(e);return`${e.hour}:${e.minute<10?"0"+e.minute:e.minute}`}}}class u extends a{isValidate(e){const t=parseInt(e);if(!isNaN(t)){return t}}}class o extends a{constructor(e,t,a){super(e);this.min=t;this.max=a}isValidate(e){const t=parseInt(e);if(!isNaN(t)&&t>=this.min&&t<=this.max){return t}}}return{export:{Validator:a,ColorValidator:i,DropDownValidator:r,OpacityValidator:s,TimeValidator:n,NumberValidator:u}}}})(); \ No newline at end of file diff --git a/utils/gui-settings/gui-settings.html b/utils/gui-settings/gui-settings.html index 219e103ec..ab10466a9 100644 --- a/utils/gui-settings/gui-settings.html +++ b/utils/gui-settings/gui-settings.html @@ -92,8 +92,9 @@ - - + + + diff --git a/utils/gui-settings/text-validate.js b/utils/gui-settings/text-validate.js index 46c8aea4a..b13c4d484 100644 --- a/utils/gui-settings/text-validate.js +++ b/utils/gui-settings/text-validate.js @@ -16,6 +16,7 @@ export class Validator { case 'defaultPlayerMode': case 'defaultVideoQuality': case 'i18nLanguage': + case 'deadVideoTitleProvider': return new DropDownValidator(key) case 'darkScheduleStart': case 'darkScheduleEnd': diff --git a/utils/show-dead-video-title.js b/utils/show-dead-video-title.js index d460f0440..760a64f06 100644 --- a/utils/show-dead-video-title.js +++ b/utils/show-dead-video-title.js @@ -76,7 +76,7 @@ return; } const aids = deadVideos.map(it => it.getAttribute('data-aid')); - const query = new WatchlaterProvider(); + const query = settings.deadVideoTitleProvider === 'Biliplus' ? new BiliplusProvider() : new WatchlaterProvider(); const infos = await query.queryInfo(aids); deadVideos.forEach((it, index) => { it.classList.remove('disabled'); diff --git a/utils/show-dead-video-title.ts b/utils/show-dead-video-title.ts index b89f18392..1dec4390e 100644 --- a/utils/show-dead-video-title.ts +++ b/utils/show-dead-video-title.ts @@ -80,7 +80,8 @@ return } const aids = deadVideos.map(it => it.getAttribute('data-aid')!) - const query = new WatchlaterProvider() + const query: DeadVideoInfoProvider = + settings.deadVideoTitleProvider === 'Biliplus' ? new BiliplusProvider() : new WatchlaterProvider() const infos = await query.queryInfo(aids) deadVideos.forEach((it, index) => { it.classList.remove('disabled')