diff --git a/bilibili-evolved.offline.user.js b/bilibili-evolved.offline.user.js
index f221ee9df..ad1d344f2 100644
--- a/bilibili-evolved.offline.user.js
+++ b/bilibili-evolved.offline.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved (Offline)
-// @version 169.22
+// @version 170.24
// @description 增强哔哩哔哩Web端体验(离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
// @author Grant Howard, Coulomb-G
// @copyright 2018, Grant Howrad (https://github.com/the1812)
@@ -70,6 +70,7 @@
},
defaultPlayerLayout: "新版",
skipChargeList: false,
+ comboLike: false,
autoLightOff: false,
useCache: true,
autoContinue: false,
@@ -78,18 +79,14 @@
};
const fixedSettings = {
guiSettings: true,
- comboLike: false,
- doubleCoins: false,
viewCover: true,
notifyNewVersion: true,
clearCache: true,
- fixFullscreen: false,
downloadVideo: true,
downloadDanmaku: true,
useDefaultPlayerMode: true,
useDefaultPlayerLayout: true,
about: false,
- blurSettingsPanel: false,
latestVersionLink: "https://github.com/the1812/Bilibili-Evolved/raw/master/bilibili-evolved.offline.user.js",
currentVersion: GM_info.script.version,
};
@@ -541,17 +538,10 @@
items: ["1080P60", "1080P+", "1080P", "720P60", "720P", "480P", "360P", "自动"],
},
},
- comboLikeStyle: {
- path: "min/combo-like.min.css",
- },
comboLike: {
path: "min/combo-like.min.js",
- styles: [
- "comboLikeStyle",
- ],
displayNames: {
- comboLike: "启用素质三连",
- doubleCoins: "为原创视频投2个币"
+ comboLike: "素质三连触摸支持",
},
},
autoContinue: {
@@ -1057,10 +1047,10 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/blur-video-control.min.css"] = `@supports (backdrop-filter: blur(48px)) or (-webkit-backdrop-filter: blur(48px)){.video-control-blur-layer{width:100%;height:100%;position:absolute;-webkit-backdrop-filter:blur(48px);backdrop-filter:blur(48px);z-index:-1;top:0;}.bilibili-player-video-control-mask{background:transparent!important;}.bilibili-player-video-control-bottom,.bui-slider .bui-track.bui-track-video-progress .bui-bar-wrap{background-color:transparent!important;}.bilibili-player-video-control-bottom{position:relative;}.bilibili-player-area .bilibili-player-video-control-wrap,.bilibili-player-area .bilibili-player-video-control-bottom{transition:none!important;}}`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/force-wide.min.css"] = `@media screen and (min-width: 1300px){.bili-wrapper{width:1160px;}.bili-wrapper .l-con{width:900px;}.bili-header-m .bili-wrapper{width:1160px;}.bili-header-m .bili-wrapper .l-con{width:900px;}.gg-floor-module{width:1160px;max-height:96px;}.bangumi-timing-module .headline .bili-tab{width:650px;}.bangumi-timing-module .headline .bili-tab .bili-tab-item{width:70px;}.bangumi-timing-module .card-timing:first-child:nth-child(4),.bangumi-timing-module .card-timing:nth-child(2):nth-child(4),.bangumi-timing-module .card-timing:nth-child(3):nth-child(4),.bangumi-timing-module .card-timing:nth-child(4):nth-child(4){padding-top:0;}.bangumi-timing-module .card-timing{padding:36px 34px 0 0;}.audio-list .song-list .song-li:nth-child(5n) .content .text{margin-right:0;}.audiolist-list .song-list .song-li:nth-child(5n) .content .text{margin-right:0;}.elevator-module{margin-left:590px;}#primary_menu,#primary_menu>ul.nav-menu,.uns_box li.u-i.b-post{display:flex;align-items:center;justify-content:space-between;}.primary-menu{width:100%;}.primary-menu .nav-menu{flex-grow:1;}.primary-menu .nav-gif{position:static;margin-left:2%;}.primary-menu .nav-menu>li{margin-right:0!important;}.primary-menu .nav-menu>li.home{padding-right:1%;}}`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-video.min.css"] = `.download-video-panel.opened{transform:scaleY(1);}.download-video-panel{position:absolute;top:calc(100% + 2px);transition:all .16s ease-out;transform-origin:top;transform:scaleY(0);background:white;box-shadow:0px 3px 20px 2px #0004;z-index:100;}ol.video-quality li,.video-action>div{cursor:pointer;align-items:center;margin:0;padding:8px 16px;transition:all .2s ease-out;text-align:center;}.video-action>div{padding:12px 24px;}ol.video-quality li:hover,.video-action>div:hover{background:rgba(0,0,0,0.16);}.video-quality,.video-progress,.video-action,.video-error{display:none;}.download-video-panel.quality:not(.error) .video-quality,.download-video-panel.progress:not(.error) .video-progress,.download-video-panel.action:not(.error) .video-action,.download-video-panel.error .video-error{display:block;}.download-progress-text{display:flex;}.download-progress-background{background-color:#8884;height:4px;width:100%;margin-top:4px;}.download-progress-foreground{background-color:var(--theme-color);transform-origin:left;transition:all .2s ease-out;transform:scaleX(0);height:100%;width:100%;}.download-progress-cancel{margin-top:8px;display:flex;justify-content:center;}.download-progress-cancel>span{background-color:#8884;padding:4px 8px;cursor:pointer;}.download-progress-cancel>span:hover{opacity:.9;}.download-progress-cancel>span:active{opacity:.8;}.video-error,.video-progress{padding:12px;}.video-progress{min-width:120px;}#video-complete{display:none;}`;
-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/image-viewer.min.html"] = ``;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-video.min.html"] = `下载视频
`;
-offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/version.txt"] = `1.6.26`;
+offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/version.txt"] = `1.6.27`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/icons.min.css"] = `.icons-enabled [class^=icon-]{width:24px;height:24px;display:inline-block;background-image:none;}.icons-enabled [class^=icon-]::after{content:"";width:24px;height:24px;display:inline-block;}.icons-enabled .icon-view::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-clear::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-download::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-update::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-info::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-settings::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-widgets::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-cancel::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-ok::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-video::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-style::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-tool::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-touch::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-other::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-arrow::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-rank::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-like::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-danmaku::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-search::after{background-image:url('data:image/svg+xml;utf-8,');}`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-side-bar.min.js"] = (()=>{return(i,s)=>{if($(".gui-settings-icon-panel").length===0){$("body").append(`\n `);$(".gui-settings").on("click",()=>{$(".gui-settings-box,.gui-settings-mask").addClass("opened")});$(".gui-settings-widgets").on("click",()=>{$(".gui-settings-widgets-box,.gui-settings-mask").addClass("opened")})}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/text-validate.min.js"] = (()=>{return(t,e)=>{class i{constructor(t){this.key=t}get originalValue(){return t[this.key]}static getValidator(t){switch(t){case"customStyleColor":return new r(t);case"blurBackgroundOpacity":case"customControlBackgroundOpacity":return new a(t);case"defaultPlayerMode":case"defaultVideoQuality":return new s(t);case"darkScheduleStart":case"darkScheduleEnd":return new n(t);default:return new i(t)}}isValidate(t){return t}validate(t){const e=this.isValidate(t);if(e===undefined){return this.originalValue}return e}}class r extends i{isValidate(t){if(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(t)){if(t.length<7){return`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`}else{return t}}}}class a extends i{isValidate(t){if(/^([-\+]?\d+)(\.\d+)?$/.test(t)){const e=parseFloat(t);if(e>=0&&e<=1){return t}}}}class s extends i{isValidate(t){const[e]=Object.values(Resource.manifest).filter(t=>t.dropdown&&t.dropdown.key===this.key).map(t=>t.dropdown);if(e.items.indexOf(t)!==-1){return t}}}class n extends i{isValidate(t){const e=t.match(/^([\d]{1,2}):([\d]{1,2})$/);if(e&&e.length>=3){const t={hour:parseInt(e[1]),minute:parseInt(e[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(t);return`${t.hour}:${t.minute<10?"0"+t.minute:t.minute}`}}}return{export:{Validator:i,ColorValidator:r,DropDownValidator:s,OpacityValidator:a,TimeValidator:n}}}})();
@@ -1100,8 +1090,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.js"] = (()=>{return(o,t)=>{if(o.customControlBackgroundOpacity>0){t.applyStyle("customControlBackgroundStyle");if(!o.touchVideoPlayer){t.applyImportantStyleFromText(`\n\n `)}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-player-mode.min.js"] = (()=>{return(e,i)=>{const n=[{name:"常规",action:()=>{}},{name:"宽屏",action:()=>{$(".bilibili-player-video-btn-widescreen").click()}},{name:"网页全屏",action:()=>{$(".bilibili-player-video-web-fullscreen").click()}}];let t=()=>{};async function l(){if(e.autoLightOff){await SpinQuery.unsafeJquery();const e=await SpinQuery.any(()=>unsafeWindow.$(".bilibili-player-video-btn-setting"));e.mouseover().mouseout();t=(()=>{SpinQuery.any(()=>$(".bilibili-player-video-btn-setting-panel-others-content-lightoff .bui-checkbox-input"),e=>{const i=e[0];i.checked=true;raiseEvent(i,"change")})})}}async function a(){await l();await SpinQuery.condition(()=>$(".bilibili-player-video,.bilibili-player-video-btn-start,.bilibili-player-area"),e=>e.length===3&&$("video").length>0&&$("video").prop("duration"));const i=document.querySelector("video");if(i.length===0){return}const a=n.find(i=>i.name===e.defaultPlayerMode);if(a.name==="全屏"){const e=await SpinQuery.unsafeJquery();const i=document.querySelector(".bilibili-player-video-btn-start");const n=()=>{const t=e(".bilibili-player-video-btn-fullscreen").data("events");if(t.click&&t.click[0]&&t.click[0].handler){const i=e(".bilibili-player-video-btn-fullscreen").data("events").click[0].handler;console.log(i);i()}i.removeEventListener("click",n)};i.addEventListener("click",n)}else{const e=()=>{if(a&&$("#bilibiliPlayer[class*=mode-]").length===0){a.action()}t();i.removeEventListener("play",e)};i.addEventListener("play",e)}}(Observer.childList||Observer.subtree)("#bofqi",()=>a())}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-quality.min.js"] = (()=>{return(e,a)=>{const t=[{name:"1080P60",value:116},{name:"1080P+",value:112},{name:"1080P",value:80},{name:"720P60",value:74},{name:"720P",value:64},{name:"480P",value:32},{name:"360P",value:15},{name:"自动",value:0}];async function i(){const a=await SpinQuery.any(()=>$(".bilibili-player-video-quality-menu .bui-select-list>li.bui-select-item"));const i=(e,a)=>a-e;const[n]=a.toArray().map(e=>parseInt(e.getAttribute("data-value"))).sort(i);const[l]=t.filter(a=>a.name===e.defaultVideoQuality).map(e=>e.value).sort(i);const[o]=t.map(e=>e.value).filter(e=>e<=Math.min(l,n)).sort(i);console.info(`[Video Quality] availableHighestQualities=${n}`);console.info(`[Video Quality] targetQuality=${l}`);console.info(`[Video Quality] finalQuality=${o}`);const u=await SpinQuery.condition(()=>document.querySelector("video"),e=>e);function s(){a.each((e,a)=>{if(parseInt(a.getAttribute("data-value"))===o){a.click()}});this.removeEventListener("play",s)}u.addEventListener("play",s)}(Observer.childList||Observer.subtree)("#bofqi",()=>i())}})();
-offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/combo-like.min.css"] = `.video-toolbar .ops{position:relative!important;}.video-toolbar .ops::after{content:"素质三连中";position:absolute;top:-8px;left:-16px;width:200px;background:#000a;height:calc(100% + 12px);padding-left:120px;padding-top:8px;transition:all .2s ease-out;opacity:0;pointer-events:none;}.video-toolbar .ops.combo-liking::after{opacity:1;pointer-events:initial;}`;
-offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/combo-like.min.js"] = (()=>{return(n,e)=>{let t=false;const i=Symbol("executed");const o=Symbol("skipped");const c=Symbol("failed");async function s(){const[n]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.like"));if(!n.classList.contains("on")){t=true;n.click();await SpinQuery.condition(()=>n,()=>n.classList.contains("on"));return i}return o}async function l(){const[e]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.coin"));if(!e.classList.contains("on")){e.click();const t=await SpinQuery.any(()=>$(".mc-box"));const o=await SpinQuery.any(()=>$(".coin-operated-m"));const s=o.children().filter((n,e)=>e.innerText.indexOf("2硬币")).length!==0;const l=(()=>{if(n.doubleCoins&&s){return 2}else{return 1}})();const a=t.filter((n,e)=>e.innerText.indexOf(l)!==-1)[0];a.click();const r=$(".bi-btn").filter((n,e)=>e.innerText==="确定")[0];r.click();await SpinQuery.condition(()=>$(".bili-dialog-m"),n=>n.length===0&&e.classList.contains("on")||$(".bili-msg").text().indexOf("硬币不足")!==-1);const u=document.querySelector(".bili-dialog-m i.icon.close");if(u){u.click();await SpinQuery.condition(()=>$(".bili-dialog-m"),n=>n.length===0);return[c,0]}return[i,l]}return[o,0]}async function a(){const[n]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.collect"));if(!n.classList.contains("on")){n.click();const e=await SpinQuery.any(()=>$(".group-list label:has(input)"));const t=e.filter((n,e)=>e.innerText.indexOf("默认收藏夹")!==-1).find("input")[0];if(!t.checked){t.checked=true;raiseEvent(t,"change");const n=$(".btn.submit-move")[0];n.disabled=false;n.click()}else{const n=$("i.close")[0];n.click()}await SpinQuery.condition(()=>$(".bili-dialog-m"),e=>e.length===0&&n.classList.contains("on"));return i}return o}async function r(){e.applyImportantStyleFromText(``);const n=document.querySelector(".video-toolbar .ops");n.classList.add("combo-liking");try{const e=await s();const[t]=await l();const r=await a();const u=(()=>{if([e,t,r].every(n=>n===i||n===o)){return null}if(t===c){return"已跳过投币阶段: 硬币不足."}})();if(u!==null){Toast.info(u,"素质三连",1e4);console.log(u)}}finally{n.classList.remove("combo-liking");$("#combo-like-temp-style").remove()}}(async()=>{const[n]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.like"));n.style.userSelect="none";const e=1e3;n.addEventListener("pointerdown",n=>{t=true;if(n.type==="touch"){n.preventDefault()}setTimeout(()=>{if(t===true){t=false;r()}},e)});n.addEventListener("click",n=>{if(t===false){n.preventDefault();n.stopImmediatePropagation()}else{t=false}});n.addEventListener("touchend",n=>{if(t===false&&n.cancelable){n.preventDefault()}})})();return{widget:{content:`\n `,condition:async()=>{const n=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.like"));return n!==undefined},success:()=>{$("#combo-like").on("click",()=>{r();$(".gui-settings-mask").click()})}}}}})();
+offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/combo-like.min.js"] = (()=>{return(e,t)=>{(async()=>{const e=await SpinQuery.select(()=>document.querySelector(".ops span.like"));e.style.userSelect="none";function t(t,n){const s=new CustomEvent(t,n);e.dispatchEvent(s)}const n=200;let s=true;e.addEventListener("touchstart",e=>{e.preventDefault();s=true;setTimeout(()=>s=false,n);t("mousedown",e)});e.addEventListener("touchend",e=>{e.preventDefault();t("mouseup",e);if(s===true){t("click",e)}})})()}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/auto-continue.min.js"] = (()=>{return(e,t)=>{function i(e){const t=/((\d)*:)?(\d)*:(\d)*/g;const i=e.text();const n=i.match(t);if(!n){return}const r=n[0].split(":");const o=(()=>{if(r.length===3){const[e,t,i]=r.map(e=>parseInt(e));return e*60*60+t*60+i}else if(r.length===2){const[e,t]=r.map(e=>parseInt(e));return e*60+t}else{logError(`解析历史时间发生错误: historyTime=${JSON.stringify(r)}`);return NaN}})();const s=e.parent();const l=document.querySelector("video");if(o从头开始`);t.appendTo(s).on("click",()=>l.currentTime=0);e.html(`已跳转到上次历史记录${n[0]}`)}else{s.find(".bilibili-player-video-toast-item-close").get(0).click()}}function n(){SpinQuery.condition(()=>$(".bilibili-player-video-toast-item-text"),e=>e.text().indexOf("上次看到")!==-1,e=>i(e.filter((e,t)=>t.innerText.indexOf("上次看到")!==-1)))}(Observer.childList||Observer.subtree)("#bofqi",n)}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.css"] = `.video-desc .info{height:auto!important;}.video-desc .btn{display:none!important;}`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.js"] = (()=>{return(e,p)=>{p.applyStyle("expandDescriptionStyle")}})();
diff --git a/bilibili-evolved.preview-offline.user.js b/bilibili-evolved.preview-offline.user.js
index 8e8a6e868..bc999c8b5 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 169.22
+// @version 170.24
// @description 增强哔哩哔哩Web端体验(预览离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
// @author Grant Howard, Coulomb-G
// @copyright 2018, Grant Howrad (https://github.com/the1812)
@@ -70,6 +70,7 @@
},
defaultPlayerLayout: "新版",
skipChargeList: false,
+ comboLike: false,
autoLightOff: false,
useCache: true,
autoContinue: false,
@@ -78,18 +79,14 @@
};
const fixedSettings = {
guiSettings: true,
- comboLike: false,
- doubleCoins: false,
viewCover: true,
notifyNewVersion: true,
clearCache: true,
- fixFullscreen: false,
downloadVideo: true,
downloadDanmaku: true,
useDefaultPlayerMode: true,
useDefaultPlayerLayout: true,
about: false,
- blurSettingsPanel: false,
latestVersionLink: "https://github.com/the1812/Bilibili-Evolved/raw/preview/bilibili-evolved.preview-offline.user.js",
currentVersion: GM_info.script.version,
};
@@ -541,17 +538,10 @@
items: ["1080P60", "1080P+", "1080P", "720P60", "720P", "480P", "360P", "自动"],
},
},
- comboLikeStyle: {
- path: "min/combo-like.min.css",
- },
comboLike: {
path: "min/combo-like.min.js",
- styles: [
- "comboLikeStyle",
- ],
displayNames: {
- comboLike: "启用素质三连",
- doubleCoins: "为原创视频投2个币"
+ comboLike: "素质三连触摸支持",
},
},
autoContinue: {
@@ -1057,10 +1047,10 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/blur-video-control.min.css"] = `@supports (backdrop-filter: blur(48px)) or (-webkit-backdrop-filter: blur(48px)){.video-control-blur-layer{width:100%;height:100%;position:absolute;-webkit-backdrop-filter:blur(48px);backdrop-filter:blur(48px);z-index:-1;top:0;}.bilibili-player-video-control-mask{background:transparent!important;}.bilibili-player-video-control-bottom,.bui-slider .bui-track.bui-track-video-progress .bui-bar-wrap{background-color:transparent!important;}.bilibili-player-video-control-bottom{position:relative;}.bilibili-player-area .bilibili-player-video-control-wrap,.bilibili-player-area .bilibili-player-video-control-bottom{transition:none!important;}}`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/force-wide.min.css"] = `@media screen and (min-width: 1300px){.bili-wrapper{width:1160px;}.bili-wrapper .l-con{width:900px;}.bili-header-m .bili-wrapper{width:1160px;}.bili-header-m .bili-wrapper .l-con{width:900px;}.gg-floor-module{width:1160px;max-height:96px;}.bangumi-timing-module .headline .bili-tab{width:650px;}.bangumi-timing-module .headline .bili-tab .bili-tab-item{width:70px;}.bangumi-timing-module .card-timing:first-child:nth-child(4),.bangumi-timing-module .card-timing:nth-child(2):nth-child(4),.bangumi-timing-module .card-timing:nth-child(3):nth-child(4),.bangumi-timing-module .card-timing:nth-child(4):nth-child(4){padding-top:0;}.bangumi-timing-module .card-timing{padding:36px 34px 0 0;}.audio-list .song-list .song-li:nth-child(5n) .content .text{margin-right:0;}.audiolist-list .song-list .song-li:nth-child(5n) .content .text{margin-right:0;}.elevator-module{margin-left:590px;}#primary_menu,#primary_menu>ul.nav-menu,.uns_box li.u-i.b-post{display:flex;align-items:center;justify-content:space-between;}.primary-menu{width:100%;}.primary-menu .nav-menu{flex-grow:1;}.primary-menu .nav-gif{position:static;margin-left:2%;}.primary-menu .nav-menu>li{margin-right:0!important;}.primary-menu .nav-menu>li.home{padding-right:1%;}}`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-video.min.css"] = `.download-video-panel.opened{transform:scaleY(1);}.download-video-panel{position:absolute;top:calc(100% + 2px);transition:all .16s ease-out;transform-origin:top;transform:scaleY(0);background:white;box-shadow:0px 3px 20px 2px #0004;z-index:100;}ol.video-quality li,.video-action>div{cursor:pointer;align-items:center;margin:0;padding:8px 16px;transition:all .2s ease-out;text-align:center;}.video-action>div{padding:12px 24px;}ol.video-quality li:hover,.video-action>div:hover{background:rgba(0,0,0,0.16);}.video-quality,.video-progress,.video-action,.video-error{display:none;}.download-video-panel.quality:not(.error) .video-quality,.download-video-panel.progress:not(.error) .video-progress,.download-video-panel.action:not(.error) .video-action,.download-video-panel.error .video-error{display:block;}.download-progress-text{display:flex;}.download-progress-background{background-color:#8884;height:4px;width:100%;margin-top:4px;}.download-progress-foreground{background-color:var(--theme-color);transform-origin:left;transition:all .2s ease-out;transform:scaleX(0);height:100%;width:100%;}.download-progress-cancel{margin-top:8px;display:flex;justify-content:center;}.download-progress-cancel>span{background-color:#8884;padding:4px 8px;cursor:pointer;}.download-progress-cancel>span:hover{opacity:.9;}.download-progress-cancel>span:active{opacity:.8;}.video-error,.video-progress{padding:12px;}.video-progress{min-width:120px;}#video-complete{display:none;}`;
-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/image-viewer.min.html"] = ``;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/download-video.min.html"] = `下载视频
`;
-offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/version.txt"] = `1.6.26`;
+offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/version.txt"] = `1.6.27`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/icons.min.css"] = `.icons-enabled [class^=icon-]{width:24px;height:24px;display:inline-block;background-image:none;}.icons-enabled [class^=icon-]::after{content:"";width:24px;height:24px;display:inline-block;}.icons-enabled .icon-view::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-clear::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-download::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-update::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-info::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-settings::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-widgets::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-cancel::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-ok::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-video::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-style::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-tool::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-touch::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-other::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-arrow::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-rank::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-like::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-danmaku::after{background-image:url('data:image/svg+xml;utf-8,');}.icons-enabled .icon-search::after{background-image:url('data:image/svg+xml;utf-8,');}`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/settings-side-bar.min.js"] = (()=>{return(i,s)=>{if($(".gui-settings-icon-panel").length===0){$("body").append(`\n `);$(".gui-settings").on("click",()=>{$(".gui-settings-box,.gui-settings-mask").addClass("opened")});$(".gui-settings-widgets").on("click",()=>{$(".gui-settings-widgets-box,.gui-settings-mask").addClass("opened")})}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/text-validate.min.js"] = (()=>{return(t,e)=>{class i{constructor(t){this.key=t}get originalValue(){return t[this.key]}static getValidator(t){switch(t){case"customStyleColor":return new r(t);case"blurBackgroundOpacity":case"customControlBackgroundOpacity":return new a(t);case"defaultPlayerMode":case"defaultVideoQuality":return new s(t);case"darkScheduleStart":case"darkScheduleEnd":return new n(t);default:return new i(t)}}isValidate(t){return t}validate(t){const e=this.isValidate(t);if(e===undefined){return this.originalValue}return e}}class r extends i{isValidate(t){if(/^#([0-9a-fA-F]{6}|[0-9a-fA-F]{3})$/.test(t)){if(t.length<7){return`#${t[1]}${t[1]}${t[2]}${t[2]}${t[3]}${t[3]}`}else{return t}}}}class a extends i{isValidate(t){if(/^([-\+]?\d+)(\.\d+)?$/.test(t)){const e=parseFloat(t);if(e>=0&&e<=1){return t}}}}class s extends i{isValidate(t){const[e]=Object.values(Resource.manifest).filter(t=>t.dropdown&&t.dropdown.key===this.key).map(t=>t.dropdown);if(e.items.indexOf(t)!==-1){return t}}}class n extends i{isValidate(t){const e=t.match(/^([\d]{1,2}):([\d]{1,2})$/);if(e&&e.length>=3){const t={hour:parseInt(e[1]),minute:parseInt(e[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(t);return`${t.hour}:${t.minute<10?"0"+t.minute:t.minute}`}}}return{export:{Validator:i,ColorValidator:r,DropDownValidator:s,OpacityValidator:a,TimeValidator:n}}}})();
@@ -1100,8 +1090,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/custom-control-background.min.js"] = (()=>{return(o,t)=>{if(o.customControlBackgroundOpacity>0){t.applyStyle("customControlBackgroundStyle");if(!o.touchVideoPlayer){t.applyImportantStyleFromText(`\n\n `)}}}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-player-mode.min.js"] = (()=>{return(e,i)=>{const n=[{name:"常规",action:()=>{}},{name:"宽屏",action:()=>{$(".bilibili-player-video-btn-widescreen").click()}},{name:"网页全屏",action:()=>{$(".bilibili-player-video-web-fullscreen").click()}}];let t=()=>{};async function l(){if(e.autoLightOff){await SpinQuery.unsafeJquery();const e=await SpinQuery.any(()=>unsafeWindow.$(".bilibili-player-video-btn-setting"));e.mouseover().mouseout();t=(()=>{SpinQuery.any(()=>$(".bilibili-player-video-btn-setting-panel-others-content-lightoff .bui-checkbox-input"),e=>{const i=e[0];i.checked=true;raiseEvent(i,"change")})})}}async function a(){await l();await SpinQuery.condition(()=>$(".bilibili-player-video,.bilibili-player-video-btn-start,.bilibili-player-area"),e=>e.length===3&&$("video").length>0&&$("video").prop("duration"));const i=document.querySelector("video");if(i.length===0){return}const a=n.find(i=>i.name===e.defaultPlayerMode);if(a.name==="全屏"){const e=await SpinQuery.unsafeJquery();const i=document.querySelector(".bilibili-player-video-btn-start");const n=()=>{const t=e(".bilibili-player-video-btn-fullscreen").data("events");if(t.click&&t.click[0]&&t.click[0].handler){const i=e(".bilibili-player-video-btn-fullscreen").data("events").click[0].handler;console.log(i);i()}i.removeEventListener("click",n)};i.addEventListener("click",n)}else{const e=()=>{if(a&&$("#bilibiliPlayer[class*=mode-]").length===0){a.action()}t();i.removeEventListener("play",e)};i.addEventListener("play",e)}}(Observer.childList||Observer.subtree)("#bofqi",()=>a())}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-video-quality.min.js"] = (()=>{return(e,a)=>{const t=[{name:"1080P60",value:116},{name:"1080P+",value:112},{name:"1080P",value:80},{name:"720P60",value:74},{name:"720P",value:64},{name:"480P",value:32},{name:"360P",value:15},{name:"自动",value:0}];async function i(){const a=await SpinQuery.any(()=>$(".bilibili-player-video-quality-menu .bui-select-list>li.bui-select-item"));const i=(e,a)=>a-e;const[n]=a.toArray().map(e=>parseInt(e.getAttribute("data-value"))).sort(i);const[l]=t.filter(a=>a.name===e.defaultVideoQuality).map(e=>e.value).sort(i);const[o]=t.map(e=>e.value).filter(e=>e<=Math.min(l,n)).sort(i);console.info(`[Video Quality] availableHighestQualities=${n}`);console.info(`[Video Quality] targetQuality=${l}`);console.info(`[Video Quality] finalQuality=${o}`);const u=await SpinQuery.condition(()=>document.querySelector("video"),e=>e);function s(){a.each((e,a)=>{if(parseInt(a.getAttribute("data-value"))===o){a.click()}});this.removeEventListener("play",s)}u.addEventListener("play",s)}(Observer.childList||Observer.subtree)("#bofqi",()=>i())}})();
-offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/combo-like.min.css"] = `.video-toolbar .ops{position:relative!important;}.video-toolbar .ops::after{content:"素质三连中";position:absolute;top:-8px;left:-16px;width:200px;background:#000a;height:calc(100% + 12px);padding-left:120px;padding-top:8px;transition:all .2s ease-out;opacity:0;pointer-events:none;}.video-toolbar .ops.combo-liking::after{opacity:1;pointer-events:initial;}`;
-offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/combo-like.min.js"] = (()=>{return(n,e)=>{let t=false;const i=Symbol("executed");const o=Symbol("skipped");const c=Symbol("failed");async function s(){const[n]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.like"));if(!n.classList.contains("on")){t=true;n.click();await SpinQuery.condition(()=>n,()=>n.classList.contains("on"));return i}return o}async function l(){const[e]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.coin"));if(!e.classList.contains("on")){e.click();const t=await SpinQuery.any(()=>$(".mc-box"));const o=await SpinQuery.any(()=>$(".coin-operated-m"));const s=o.children().filter((n,e)=>e.innerText.indexOf("2硬币")).length!==0;const l=(()=>{if(n.doubleCoins&&s){return 2}else{return 1}})();const a=t.filter((n,e)=>e.innerText.indexOf(l)!==-1)[0];a.click();const r=$(".bi-btn").filter((n,e)=>e.innerText==="确定")[0];r.click();await SpinQuery.condition(()=>$(".bili-dialog-m"),n=>n.length===0&&e.classList.contains("on")||$(".bili-msg").text().indexOf("硬币不足")!==-1);const u=document.querySelector(".bili-dialog-m i.icon.close");if(u){u.click();await SpinQuery.condition(()=>$(".bili-dialog-m"),n=>n.length===0);return[c,0]}return[i,l]}return[o,0]}async function a(){const[n]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.collect"));if(!n.classList.contains("on")){n.click();const e=await SpinQuery.any(()=>$(".group-list label:has(input)"));const t=e.filter((n,e)=>e.innerText.indexOf("默认收藏夹")!==-1).find("input")[0];if(!t.checked){t.checked=true;raiseEvent(t,"change");const n=$(".btn.submit-move")[0];n.disabled=false;n.click()}else{const n=$("i.close")[0];n.click()}await SpinQuery.condition(()=>$(".bili-dialog-m"),e=>e.length===0&&n.classList.contains("on"));return i}return o}async function r(){e.applyImportantStyleFromText(``);const n=document.querySelector(".video-toolbar .ops");n.classList.add("combo-liking");try{const e=await s();const[t]=await l();const r=await a();const u=(()=>{if([e,t,r].every(n=>n===i||n===o)){return null}if(t===c){return"已跳过投币阶段: 硬币不足."}})();if(u!==null){Toast.info(u,"素质三连",1e4);console.log(u)}}finally{n.classList.remove("combo-liking");$("#combo-like-temp-style").remove()}}(async()=>{const[n]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.like"));n.style.userSelect="none";const e=1e3;n.addEventListener("pointerdown",n=>{t=true;if(n.type==="touch"){n.preventDefault()}setTimeout(()=>{if(t===true){t=false;r()}},e)});n.addEventListener("click",n=>{if(t===false){n.preventDefault();n.stopImmediatePropagation()}else{t=false}});n.addEventListener("touchend",n=>{if(t===false&&n.cancelable){n.preventDefault()}})})();return{widget:{content:`\n `,condition:async()=>{const n=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.like"));return n!==undefined},success:()=>{$("#combo-like").on("click",()=>{r();$(".gui-settings-mask").click()})}}}}})();
+offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/combo-like.min.js"] = (()=>{return(e,t)=>{(async()=>{const e=await SpinQuery.select(()=>document.querySelector(".ops span.like"));e.style.userSelect="none";function t(t,n){const s=new CustomEvent(t,n);e.dispatchEvent(s)}const n=200;let s=true;e.addEventListener("touchstart",e=>{e.preventDefault();s=true;setTimeout(()=>s=false,n);t("mousedown",e)});e.addEventListener("touchend",e=>{e.preventDefault();t("mouseup",e);if(s===true){t("click",e)}})})()}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/auto-continue.min.js"] = (()=>{return(e,t)=>{function i(e){const t=/((\d)*:)?(\d)*:(\d)*/g;const i=e.text();const n=i.match(t);if(!n){return}const r=n[0].split(":");const o=(()=>{if(r.length===3){const[e,t,i]=r.map(e=>parseInt(e));return e*60*60+t*60+i}else if(r.length===2){const[e,t]=r.map(e=>parseInt(e));return e*60+t}else{logError(`解析历史时间发生错误: historyTime=${JSON.stringify(r)}`);return NaN}})();const s=e.parent();const l=document.querySelector("video");if(o从头开始`);t.appendTo(s).on("click",()=>l.currentTime=0);e.html(`已跳转到上次历史记录${n[0]}`)}else{s.find(".bilibili-player-video-toast-item-close").get(0).click()}}function n(){SpinQuery.condition(()=>$(".bilibili-player-video-toast-item-text"),e=>e.text().indexOf("上次看到")!==-1,e=>i(e.filter((e,t)=>t.innerText.indexOf("上次看到")!==-1)))}(Observer.childList||Observer.subtree)("#bofqi",n)}})();
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.css"] = `.video-desc .info{height:auto!important;}.video-desc .btn{display:none!important;}`;
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.js"] = (()=>{return(e,p)=>{p.applyStyle("expandDescriptionStyle")}})();
diff --git a/bilibili-evolved.preview.user.js b/bilibili-evolved.preview.user.js
index d2748c1ea..9ad5b2e68 100644
--- a/bilibili-evolved.preview.user.js
+++ b/bilibili-evolved.preview.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved (Preview)
-// @version 1.6.26
+// @version 1.6.27
// @description 增强哔哩哔哩Web端体验(预览版分支): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
// @author Grant Howard, Coulomb-G
// @copyright 2018, Grant Howrad (https://github.com/the1812)
@@ -69,6 +69,7 @@
},
defaultPlayerLayout: "新版",
skipChargeList: false,
+ comboLike: false,
autoLightOff: false,
useCache: true,
autoContinue: false,
@@ -77,18 +78,14 @@
};
const fixedSettings = {
guiSettings: true,
- comboLike: false,
- doubleCoins: false,
viewCover: true,
notifyNewVersion: true,
clearCache: true,
- fixFullscreen: false,
downloadVideo: true,
downloadDanmaku: true,
useDefaultPlayerMode: true,
useDefaultPlayerLayout: true,
about: false,
- blurSettingsPanel: false,
latestVersionLink: "https://github.com/the1812/Bilibili-Evolved/raw/preview/bilibili-evolved.preview.user.js",
currentVersion: GM_info.script.version,
};
@@ -540,17 +537,10 @@
items: ["1080P60", "1080P+", "1080P", "720P60", "720P", "480P", "360P", "自动"],
},
},
- comboLikeStyle: {
- path: "min/combo-like.min.css",
- },
comboLike: {
path: "min/combo-like.min.js",
- styles: [
- "comboLikeStyle",
- ],
displayNames: {
- comboLike: "启用素质三连",
- doubleCoins: "为原创视频投2个币"
+ comboLike: "素质三连触摸支持",
},
},
autoContinue: {
diff --git a/bilibili-evolved.user.js b/bilibili-evolved.user.js
index 715712743..9775e6e81 100644
--- a/bilibili-evolved.user.js
+++ b/bilibili-evolved.user.js
@@ -1,6 +1,6 @@
// ==UserScript==
// @name Bilibili Evolved
-// @version 1.6.26
+// @version 1.6.27
// @description 增强哔哩哔哩Web端体验: 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
// @author Grant Howard, Coulomb-G
// @copyright 2018, Grant Howrad (https://github.com/the1812)
@@ -69,6 +69,7 @@
},
defaultPlayerLayout: "新版",
skipChargeList: false,
+ comboLike: false,
autoLightOff: false,
useCache: true,
autoContinue: false,
@@ -77,18 +78,14 @@
};
const fixedSettings = {
guiSettings: true,
- comboLike: false,
- doubleCoins: false,
viewCover: true,
notifyNewVersion: true,
clearCache: true,
- fixFullscreen: false,
downloadVideo: true,
downloadDanmaku: true,
useDefaultPlayerMode: true,
useDefaultPlayerLayout: true,
about: false,
- blurSettingsPanel: false,
latestVersionLink: "https://github.com/the1812/Bilibili-Evolved/raw/master/bilibili-evolved.user.js",
currentVersion: GM_info.script.version,
};
@@ -540,17 +537,10 @@
items: ["1080P60", "1080P+", "1080P", "720P60", "720P", "480P", "360P", "自动"],
},
},
- comboLikeStyle: {
- path: "min/combo-like.min.css",
- },
comboLike: {
path: "min/combo-like.min.js",
- styles: [
- "comboLikeStyle",
- ],
displayNames: {
- comboLike: "启用素质三连",
- doubleCoins: "为原创视频投2个币"
+ comboLike: "素质三连触摸支持",
},
},
autoContinue: {
diff --git a/min/combo-like.min.js b/min/combo-like.min.js
index a2d6e11d2..5c0fc24f7 100644
--- a/min/combo-like.min.js
+++ b/min/combo-like.min.js
@@ -1 +1 @@
-(()=>{return(n,e)=>{let t=false;const i=Symbol("executed");const o=Symbol("skipped");const c=Symbol("failed");async function s(){const[n]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.like"));if(!n.classList.contains("on")){t=true;n.click();await SpinQuery.condition(()=>n,()=>n.classList.contains("on"));return i}return o}async function l(){const[e]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.coin"));if(!e.classList.contains("on")){e.click();const t=await SpinQuery.any(()=>$(".mc-box"));const o=await SpinQuery.any(()=>$(".coin-operated-m"));const s=o.children().filter((n,e)=>e.innerText.indexOf("2硬币")).length!==0;const l=(()=>{if(n.doubleCoins&&s){return 2}else{return 1}})();const a=t.filter((n,e)=>e.innerText.indexOf(l)!==-1)[0];a.click();const r=$(".bi-btn").filter((n,e)=>e.innerText==="确定")[0];r.click();await SpinQuery.condition(()=>$(".bili-dialog-m"),n=>n.length===0&&e.classList.contains("on")||$(".bili-msg").text().indexOf("硬币不足")!==-1);const u=document.querySelector(".bili-dialog-m i.icon.close");if(u){u.click();await SpinQuery.condition(()=>$(".bili-dialog-m"),n=>n.length===0);return[c,0]}return[i,l]}return[o,0]}async function a(){const[n]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.collect"));if(!n.classList.contains("on")){n.click();const e=await SpinQuery.any(()=>$(".group-list label:has(input)"));const t=e.filter((n,e)=>e.innerText.indexOf("默认收藏夹")!==-1).find("input")[0];if(!t.checked){t.checked=true;raiseEvent(t,"change");const n=$(".btn.submit-move")[0];n.disabled=false;n.click()}else{const n=$("i.close")[0];n.click()}await SpinQuery.condition(()=>$(".bili-dialog-m"),e=>e.length===0&&n.classList.contains("on"));return i}return o}async function r(){e.applyImportantStyleFromText(``);const n=document.querySelector(".video-toolbar .ops");n.classList.add("combo-liking");try{const e=await s();const[t]=await l();const r=await a();const u=(()=>{if([e,t,r].every(n=>n===i||n===o)){return null}if(t===c){return"已跳过投币阶段: 硬币不足."}})();if(u!==null){Toast.info(u,"素质三连",1e4);console.log(u)}}finally{n.classList.remove("combo-liking");$("#combo-like-temp-style").remove()}}(async()=>{const[n]=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.like"));n.style.userSelect="none";const e=1e3;n.addEventListener("pointerdown",n=>{t=true;if(n.type==="touch"){n.preventDefault()}setTimeout(()=>{if(t===true){t=false;r()}},e)});n.addEventListener("click",n=>{if(t===false){n.preventDefault();n.stopImmediatePropagation()}else{t=false}});n.addEventListener("touchend",n=>{if(t===false&&n.cancelable){n.preventDefault()}})})();return{widget:{content:`\n `,condition:async()=>{const n=await SpinQuery.any(()=>document.querySelectorAll("div.ops>span.like"));return n!==undefined},success:()=>{$("#combo-like").on("click",()=>{r();$(".gui-settings-mask").click()})}}}}})();
\ No newline at end of file
+(()=>{return(e,t)=>{(async()=>{const e=await SpinQuery.select(()=>document.querySelector(".ops span.like"));e.style.userSelect="none";function t(t,n){const s=new CustomEvent(t,n);e.dispatchEvent(s)}const n=200;let s=true;e.addEventListener("touchstart",e=>{e.preventDefault();s=true;setTimeout(()=>s=false,n);t("mousedown",e)});e.addEventListener("touchend",e=>{e.preventDefault();t("mouseup",e);if(s===true){t("click",e)}})})()}})();
\ No newline at end of file
diff --git a/min/gui-settings.min.html b/min/gui-settings.min.html
index 9167dbb43..8d1586d87 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/touch/combo-like.js b/touch/combo-like.js
new file mode 100644
index 000000000..be50e8e41
--- /dev/null
+++ b/touch/combo-like.js
@@ -0,0 +1,35 @@
+(() =>
+{
+ return (settings, resources) =>
+ {
+ (async () =>
+ {
+ const likeButton = await SpinQuery.select(() => document.querySelector(".ops span.like"));
+ likeButton.style.userSelect = "none";
+ function mountEvent(name, args)
+ {
+ const event = new CustomEvent(name, args);
+ likeButton.dispatchEvent(event);
+ }
+
+ const clickInterval = 200;
+ let click = true;
+ likeButton.addEventListener("touchstart", e =>
+ {
+ e.preventDefault();
+ click = true;
+ setTimeout(() => click = false, clickInterval);
+ mountEvent("mousedown", e);
+ });
+ likeButton.addEventListener("touchend", e =>
+ {
+ e.preventDefault();
+ mountEvent("mouseup", e);
+ if (click === true)
+ {
+ mountEvent("click", e);
+ }
+ });
+ })();
+ };
+})();
\ No newline at end of file
diff --git a/utils/combo-like/combo-like.css b/utils/combo-like/combo-like.css
deleted file mode 100644
index 47d7c82b2..000000000
--- a/utils/combo-like/combo-like.css
+++ /dev/null
@@ -1,24 +0,0 @@
-.video-toolbar .ops
-{
- position: relative !important;
-}
-.video-toolbar .ops::after
-{
- content: "素质三连中";
- position: absolute;
- top: -8px;
- left: -16px;
- width: 200px;
- background: #000a;
- height: calc(100% + 12px);
- padding-left: 120px;
- padding-top: 8px;
- transition: all .2s ease-out;
- opacity: 0;
- pointer-events: none;
-}
-.video-toolbar .ops.combo-liking::after
-{
- opacity: 1;
- pointer-events: initial;
-}
\ No newline at end of file
diff --git a/utils/combo-like/combo-like.js b/utils/combo-like/combo-like.js
deleted file mode 100644
index ac0e99a71..000000000
--- a/utils/combo-like/combo-like.js
+++ /dev/null
@@ -1,198 +0,0 @@
-(() =>
-{
- return (settings, resources) =>
- {
- let trigger = false;
- const executed = Symbol("executed");
- const skipped = Symbol("skipped");
- const failed = Symbol("failed");
- async function like()
- {
- const [likeButton] = await SpinQuery.any(() => document.querySelectorAll("div.ops>span.like"));
- if (!likeButton.classList.contains("on"))
- {
- trigger = true;
- likeButton.click();
- await SpinQuery.condition(() => likeButton, () => likeButton.classList.contains("on"));
- return executed;
- }
- return skipped;
- }
- async function coin()
- {
- const [coinButton] = await SpinQuery.any(() => document.querySelectorAll("div.ops>span.coin"));
- if (!coinButton.classList.contains("on"))
- {
- coinButton.click();
- const dialog = await SpinQuery.any(() => $(".mc-box"));
- const coinsSpan = await SpinQuery.any(() => $(".coin-operated-m"));
- const supportDoubleCoins = coinsSpan.children().filter((_, it) => it.innerText.indexOf("2硬币")).length !== 0;
- const coins = (() =>
- {
- if (settings.doubleCoins && supportDoubleCoins)
- {
- return 2;
- }
- else
- {
- return 1;
- }
- })();
- const coinSpan = dialog.filter((_, it) => it.innerText.indexOf(coins) !== -1)[0];
- coinSpan.click();
- const okButton = $(".bi-btn").filter((_, it) => it.innerText === "确定")[0];
- okButton.click();
- await SpinQuery.condition(
- () => $(".bili-dialog-m"),
- it => it.length === 0 && coinButton.classList.contains("on")
- || $(".bili-msg").text().indexOf("硬币不足") !== -1,
- );
- const closeButton = document.querySelector(".bili-dialog-m i.icon.close");
- if (closeButton)
- {
- closeButton.click();
- await SpinQuery.condition(
- () => $(".bili-dialog-m"),
- it => it.length === 0,
- );
- return [failed, 0];
- }
- return [executed, coins];
- }
- return [skipped, 0];
- }
- async function favorite()
- {
- const [favoriteButton] = await SpinQuery.any(() => document.querySelectorAll("div.ops>span.collect"));
- if (!favoriteButton.classList.contains("on"))
- {
- favoriteButton.click();
- const dialog = await SpinQuery.any(() => $(".group-list label:has(input)"));
- const defaultInput = dialog.filter((_, it) => it.innerText.indexOf("默认收藏夹") !== -1).find("input")[0];
- if (!defaultInput.checked)
- {
- defaultInput.checked = true;
- raiseEvent(defaultInput, "change");
- const okButton = $(".btn.submit-move")[0];
- okButton.disabled = false;
- okButton.click();
- }
- else
- {
- const okButton = $("i.close")[0];
- okButton.click();
- }
- await SpinQuery.condition(
- () => $(".bili-dialog-m"),
- it => it.length === 0 && favoriteButton.classList.contains("on"),
- );
- return executed;
- }
- return skipped;
- }
- async function comboLike()
- {
- resources.applyImportantStyleFromText(``);
- const operationArea = document.querySelector(".video-toolbar .ops");
- operationArea.classList.add("combo-liking");
- try
- {
- const likeResult = await like();
- const [coinResult] = await coin();
- const favoriteResult = await favorite();
- const message = (() =>
- {
- if ([likeResult, coinResult, favoriteResult].every(it => it === executed || it === skipped))
- {
- return null;
- }
- if (coinResult === failed)
- {
- return "已跳过投币阶段: 硬币不足.";
- }
- })();
- if (message !== null)
- {
- Toast.info(message, "素质三连", 10000);
- console.log(message);
- }
- }
- finally
- {
- operationArea.classList.remove("combo-liking");
- $("#combo-like-temp-style").remove();
- }
- }
- (async () =>
- {
- const [likeButton] = await SpinQuery.any(() => document.querySelectorAll("div.ops>span.like"));
- likeButton.style.userSelect = "none";
- const triggerTime = 1000;
- likeButton.addEventListener("pointerdown", e =>
- {
- trigger = true;
- if (e.type === "touch")
- {
- e.preventDefault();
- }
- setTimeout(() =>
- {
- if (trigger === true)
- {
- trigger = false;
- comboLike();
- }
- }, triggerTime);
- });
- likeButton.addEventListener("click", e =>
- {
- if (trigger === false)
- {
- e.preventDefault();
- e.stopImmediatePropagation();
- }
- else
- {
- trigger = false;
- }
- });
- likeButton.addEventListener("touchend", e =>
- {
- if (trigger === false && e.cancelable)
- {
- e.preventDefault();
- }
- });
- })();
- return {
- widget:
- {
- content: `
- `,
- condition: async () =>
- {
- const likeButton = await SpinQuery.any(() => document.querySelectorAll("div.ops>span.like"));
- return likeButton !== undefined;
- },
- success: () =>
- {
- $("#combo-like").on("click", () =>
- {
- comboLike();
- $(".gui-settings-mask").click();
- });
- },
- },
- };
- };
-})();
\ No newline at end of file
diff --git a/utils/gui-settings/gui-settings.html b/utils/gui-settings/gui-settings.html
index 2d3547c30..c88ab71f4 100644
--- a/utils/gui-settings/gui-settings.html
+++ b/utils/gui-settings/gui-settings.html
@@ -62,10 +62,9 @@
-
触摸
+
diff --git a/version.txt b/version.txt
index 39e9542ad..6fc9d7416 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-1.6.26
\ No newline at end of file
+1.6.27
\ No newline at end of file