From 6ec78f526e88323219c7cb02d6eb5cba40076459 Mon Sep 17 00:00:00 2001 From: the1812 Date: Fri, 5 Jul 2019 12:04:04 +0800 Subject: [PATCH] Fix bugs --- README.md | 1 - bilibili-evolved.offline.user.js | 6 +- bilibili-evolved.preview-offline.user.js | 6 +- min/touch-player.min.css | 2 +- min/touch-player.min.js | 2 +- touch/player/touch-player.css | 13 +++- touch/player/touch-player.js | 83 +++++++++--------------- 7 files changed, 51 insertions(+), 62 deletions(-) diff --git a/README.md b/README.md index a5f28e659..9107d4ba1 100644 --- a/README.md +++ b/README.md @@ -377,7 +377,6 @@ ### Firefox - 背景模糊效果无效, 详见[Bugzilla #1178765](https://bugzilla.mozilla.org/show_bug.cgi?id=1178765). -- 触摸调整的进度预览有弹跳现象.(源自CSS `transition`. 短时间内总是从原数值开始变化, 而不是当前数值) ### Safari - 尚未在Safari中测试.(流下了贫穷的泪水 diff --git a/bilibili-evolved.offline.user.js b/bilibili-evolved.offline.user.js index 8efdf0c77..8a229ede6 100644 --- a/bilibili-evolved.offline.user.js +++ b/bilibili-evolved.offline.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Bilibili Evolved (Offline) -// @version 353.83 +// @version 353.84 // @description Bilibili Evolved 的离线版, 所有功能都已内置于脚本中. // @author Grant Howard, Coulomb-G // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) @@ -1124,8 +1124,8 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m 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}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.js"] = (()=>{return(t,e)=>{class s{constructor(t="",e="",s="default"){this.type=s;this.message=t;this.title=e;this.duration=3e3;this.element=$(this.cardHtml)[0];document.querySelector(".toast-card-container").insertAdjacentElement("beforeend",this.element)}show(){this.element.classList.add("visible");this.element.querySelector(".toast-card-dismiss").addEventListener("click",()=>this.dismiss());if(this.duration){setTimeout(()=>this.dismiss(),this.duration)}}dismiss(){if(this.element.classList.contains("visible")){this.element.addEventListener("transitionend",()=>this.element.remove());this.element.classList.remove("visible")}}get cardHtml(){return`\n
\n
\n

${this.title}

\n
\n \n \n \n
\n
\n
${this.message}
\n
\n `}static get container(){return document.querySelector(".toast-card-container")}static createToastContainer(){if(!document.querySelector(".toast-card-container")){document.body.insertAdjacentHTML("beforeend",`
`)}}static internalShow(t,e,i,n){const a=new s(t,e,n);a.duration=i;a.show();return a}static show(t,e,s){return this.internalShow(t,e,s,"default")}static info(t,e,s){return this.internalShow(t,e,s,"info")}static success(t,e,s){return this.internalShow(t,e,s,"success")}static error(t,e,s){return this.internalShow(t,e,s,"error")}}e.applyStyle("toastStyle");s.createToastContainer();return{export:s}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-navbar.min.js"] = (()=>{return(e,r)=>{SpinQuery.count(()=>document.querySelectorAll("ul.fr>li.nav-item:not(.profile-info)"),6,e=>{e.forEach(e=>{e.style.cursor="pointer";const r=e.querySelector("a.t");r.removeAttribute("href")})})}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.css"] = `.touch-video-box-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;z-index:14;pointer-events:none}.touch-video-box{border-radius:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgba(0,0,0,.85);position:relative;max-width:520px;max-height:240px;border:4px solid transparent;transform-origin:center}.touch-video-box.animation{transition:.2s}.touch-video-info{color:#fff;font-size:2rem;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;width:100%}.touch-row{flex-grow:1;display:flex;align-items:center;justify-content:center;width:100%}.touch-info{display:block;color:var(--theme-color)}.touch-result{display:block;font-size:1.5rem;line-height:150%}.touch-speed{display:block;background:rgba(0,0,0,.1);padding:.5em}.touch-progress{position:absolute;bottom:0;left:0;background:var(--theme-color);width:100%;transform-origin:left;transform:scaleX(0);height:4px;transition:.2s}.touch-row-item{flex:1 0 0;display:flex;align-items:center;justify-content:center}.touch-row-item-wide{flex:1.5 0 0;display:flex;align-items:center;justify-content:center}.videoshot{background-color:transparent;background-image:none;transform-origin:center;transform:scale(.9)}.adjust-closed{transform:rotateX(90deg) rotateY(90deg) scale(.5)}.adjust-opened{transform:rotateX(0) rotateY(0) scale(1)}.disable-original-hover .bilibili-player-video-control-bottom,.disable-original-hover .bilibili-player-video-control-mask{opacity:0!important;visibility:hidden!important}.disable-original-hover .bilibili-player-video-control-wrap,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-bottom,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-mask{opacity:1!important;visibility:visible!important}.bilibili-player-video-control-top,.disable-original-hover .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.bilibili-player-video-control-top,.bilibili-player-video-progress-detail{bottom:0!important}.disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:38px!important}div.bilibili-player-video-control{height:38px!important;align-items:center!important}.bilibili-player-video-btn{flex-grow:1!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-video-inputbar,.bilibili-player-video-progress{flex-grow:30!important}.bilibili-player-video-quality-menu{display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-iconfont-color,.bilibili-player-iconfont-danmaku,.bilibili-player-iconfont-danmaku-off,.bilibili-player-iconfont-fullscreen,.bilibili-player-iconfont-pause,.bilibili-player-iconfont-repeat,.bilibili-player-iconfont-setting,.bilibili-player-iconfont-start,.bilibili-player-iconfont-volume,.bilibili-player-iconfont-volume-max,.bilibili-player-iconfont-volume-min,.bilibili-player-iconfont-web-fullscreen,.bilibili-player-iconfont-widescreen{font-size:2.5rem!important}.bilibili-player-iconfont-next{font-size:2rem!important}.bilibili-player-video-btn-setting-panel,.bilibili-player-video-danmaku-setting-wrap,.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar,.bpui-selectmenu-list{left:unset!important;bottom:38px!important}.bilibili-player-video-volumebar-wrp{left:unset!important}.bilibili-player-video-control-wrap{padding:0!important}.bilibili-player-video-control-bottom{padding:0!important;align-items:center!important}.bilibili-player-iconfont-next,.bilibili-player-iconfont-setting,.bilibili-player-video-btn-volume.video-state-volume-max .bilibili-player-iconfont-volume-max,.bilibili-player-video-btn-volume.video-state-volume-min .bilibili-player-iconfont-volume-min,.bilibili-player-video-btn-volume:not(.video-state-volume-max):not(.video-state-volume-min) .bilibili-player-iconfont-volume,.bilibili-player-video-control-bottom-left{display:flex!important;align-items:center!important}.bilibili-player-video-btn-danmaku{flex-grow:0!important;display:flex!important;align-items:center!important;height:100%!important;margin:0!important;padding:0!important}.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-right{flex-grow:1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar{bottom:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-fullscreen{margin-right:0!important;padding-right:8px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-start{padding-left:8px!important;flex-grow:1.2!important;margin-right:0!important;margin-left:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn{padding:0 3px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom,.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom-right,.bilibili-player-video-control-bottom-left{height:100%!important;margin:0!important}.bilibili-player-video-btn-setting-panel-hover-bridge{display:none!important}.disable-original-hover .bilibili-player-video-control-wrap:hover .bilibili-player-video-control-top .bilibili-player-video-progress-slider,.disable-original-hover.bilibili-player-area.video-control-show .bilibili-player-video-control-top .bilibili-player-video-progress-slider{height:2px!important}.disable-original-hover.bilibili-player-area .bilibili-player-video-control .bilibili-player-video-progress-detail.show{bottom:1px!important}.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bc,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bl,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-br{bottom:20px!important}.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:44px!important}.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:60px!important}.bilibili-player.mode-fullscreen .disable-original-hover .bilibili-player-video-control-top{opacity:1!important}#bofqi *{-webkit-tap-highlight-color:transparent!important}@media screen and (min-width:750px){.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar{background:#fff1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control{height:100%!important;margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom{margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left{height:100%!important}.bilibili-player-video-btn.bilibili-player-video-btn-start{flex-grow:.5!important}.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:0!important;right:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:54px!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:48px!important}}`; -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.js"] = (()=>{return(t,i)=>{const e=t=>{let i=0;let e=0;while(t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop)){i+=t.offsetLeft-t.scrollLeft;e+=t.offsetTop-t.scrollTop;t=t.offsetParent}return{x:i,y:e}};const s=t=>{t=Math.abs(t);const i=Math.floor(t/3600);const e=Math.floor((t-i*3600)/60);const s=t-i*3600-e*60;let o=fixed(s)+"秒";if(e>0){o=e+"分"+o}if(i>0){o=i+"时"+o}return o};const o=t=>{t=Math.abs(t);const i=Math.floor(t/3600);const e=Math.floor((t-i*3600)/60);const s=t-i*3600-e*60;let o=(s<10?"0":"")+fixed(s);o=(e<10?"0":"")+e+":"+o;o=(i<10?"0":"")+i+":"+o;return o};class n{constructor(t){this.action=new a(t);this.onTouchStart=null;this.onTouchEnd=null;this.direction=null;t.addEventListener("touchstart",t=>{this.xDown=t.touches[0].clientX;this.yDown=t.touches[0].clientY;if(this.onTouchStart){this.onTouchStart(t)}});t.addEventListener("touchmove",i=>{if(!this.xDown||!this.yDown){return}const s=i.touches[0].clientX;const o=i.touches[0].clientY;const n=e(t);const a={x:(i.touches[0].pageX-n.x)/t.clientWidth,y:(i.touches[0].pageY-n.y)/t.clientHeight,width:t.clientWidth,height:t.clientHeight};const l=this.xDown-s;const c=this.yDown-o;if(!this.direction){let t="";if(Math.abs(l)>Math.abs(c)){t="horizontal"}else{t="vertical"}this.direction=t;i.preventDefault()}else{if(this.direction==="vertical"){this.action.startAction(this.direction,c,a)}else if(this.direction==="horizontal"){this.action.startAction(this.direction,-l,a)}i.preventDefault()}});t.addEventListener("touchend",t=>{this.xDown=null;this.yDown=null;this.direction=null;if(this.onTouchEnd){this.onTouchEnd(t)}})}}class a{constructor(t){this.lowSpeedForward=null;this.lowSpeedBackward=null;this.mediumSpeedForward=null;this.mediumSpeedBackward=null;this.highSpeedForward=null;this.highSpeedBackward=null;this.volumeUp=null;this.volumeDown=null;this.brightnessUp=null;this.brightnessDown=null;this.speedCancel=null;this.minSwipeDistance=20;this.onActionStart=null;this.onActionEnd=null;this.element=t;this.touchStart=false;this.startPosition=null;this.lastAction=null;t.addEventListener("touchstart",()=>{this.touchStart=true});t.addEventListener("touchend",()=>{this.startPosition=null;this.onActionEnd&&this.onActionEnd(this.lastAction);this.lastAction=null})}startAction(t,i,e){if(this.touchStart){this.onActionStart&&this.onActionStart(t);this.startPosition=e;this.touchStart=false}if(t==="vertical"){let t;let s;if(this.startPosition.x<1/2){t=this.brightnessUp;s=this.brightnessDown;const o=Math.round(200*(i-this.minSwipeDistance)/(1.5*e.height));if(i>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"brightness",brightness:o}}else{t=this.volumeUp;s=this.volumeDown;const o=Math.round(200*(i-this.minSwipeDistance)/(1.5*e.height));if(i>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"volume",volume:o}}}else if(t==="horizontal"){if(e.y<1/3&&(e.x<.1||e.x>.9)){this.speedCancel&&this.speedCancel();this.lastAction=null}else{let t=0;let e;let s;if(this.startPosition.y<1/3){t=.05;e=this.lowSpeedForward;s=this.lowSpeedBackward}else if(this.startPosition.y>=1/3&&this.startPosition.y<=2/3){t=.2;e=this.mediumSpeedForward;s=this.mediumSpeedBackward}else{t=1;e=this.highSpeedForward;s=this.highSpeedBackward}if(i>0){const s=(i-this.minSwipeDistance)*t;e&&e(s);this.lastAction={type:"playback",seconds:s}}else{const e=(i+this.minSwipeDistance)*t;s&&s(e);this.lastAction={type:"playback",seconds:e}}}}}}class l{constructor(){this.aid=unsafeWindow.aid;this.cid=unsafeWindow.cid;this.cidData=null;this.supportWebp=l.supportWebp}getVideoshot(t,i){if(!(this.aid&&this.cid)){return}if(!this.cidData){Ajax.getText(`https://api.bilibili.com/x/player/videoshot?aid=${this.aid}&cid=${this.cid}&index=1`).then(e=>{this.cidData=JSON.parse(e).data;this.getVideoshot(t,i)})}else{const e=this.cidData;const s=e.index;let o=0;for(let i=0;i=s[i]&&tt.replace(".jpg",".jpg@.webp"))}const a=parseInt(e.pv_x_len)||10;const l=parseInt(e.pv_y_len)||10;const c=parseInt(e.pv_x_size)||160;const r=parseInt(e.pv_y_size)||90;const d=-(o%100%a)*c;const h=-Math.floor(o%100/l)*r;i({width:c,height:r,backgroundImage:`url(${n[Math.floor(o/100)]})`,backgroundPosition:`${d}px ${h}px`})}}static get supportWebp(){try{const t=document.createElement("canvas");if(t.getContext&&t.getContext("2d")){try{return t.toDataURL("image/webp").indexOf("data:image/webp")===0}catch(t){return false}}else{return false}}catch(t){return false}}}function c(t){t.unbind("click")}function r(i){if($(".touch-video-box").length!==0){return}$(".bilibili-player-video-subtitle").before(`\n
\n
\n
\n
\n
\n
`);const e=$("video");const a=e.prop("duration");const c=new n(i.get(0));const r=document.getElementsByClassName("touch-video-info")[0];const d=document.getElementsByClassName("touch-video-box")[0];let h=100;let u=Math.round(e.prop("volume")*100);const p=t=>{t/=100;if(t<0){t=0}else if(t>1){t=1}e.prop("volume",t);$(".bilibili-player-video-volume-num").text(Math.round(t*100));$(".bui-thumb").css("transform",`translateY(-${48*t}px)`);$(".bui-track-vertical .bui-bar").css("transform",`scaleY(${t})`);if(t===0){$(".bilibili-player-video-btn-volume").addClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");e.prop("muted",true)}else if(t===1){$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").addClass("video-state-volume-max");e.prop("muted",false)}else{$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");e.prop("muted",false)}};if(t.touchVideoPlayerAnimation){d.classList.add("animation")}c.action.onActionStart=(()=>{d.classList.add("adjust-opened");r.innerHTML="";u=Math.round(e.prop("volume")*100);const t=e.css("filter").match(/brightness\((.+)\)/);h=Math.trunc((t?t[1]:1)*100)});const v=new l;const f=t=>{return i=>{const n=e.prop("currentTime");const l=fixed(100*n/a);let c=n+i;let d=fixed(100*c/a);let h=i;if(c>a){c=a;d=100;h=a-n}else if(c<0){c=0;d=0;h=n}const u=`${o(n)} (${l}%)
👇
${o(c)} (${d}%)`;const p=`\n
\n
\n ${t}速\n
\n
\n 进度: ${i>0?"+":"-"}${s(h)}\n
\n
\n
\n
\n
\n
\n
\n ${u}\n
\n
\n `;r.innerHTML=p;v.getVideoshot(c,t=>$(".videoshot").css(t));$(".touch-progress").css("transform",`scaleX(${d/100})`)}};c.action.lowSpeedBackward=f("低");c.action.lowSpeedForward=f("低");c.action.mediumSpeedBackward=f("中");c.action.mediumSpeedForward=f("中");c.action.highSpeedBackward=f("高");c.action.highSpeedForward=f("高");const m=t=>{let i=u+t;let e=Math.abs(t);if(i>100){i=100;e=100-u}else if(i<0){i=0;e=u}const s=`${u} 👉 ${i}`;p(i);const o=`\n
\n
\n 音量: ${t>0?"+":"-"}${e}\n
\n
\n
\n
\n ${s}\n
\n
\n `;r.innerHTML=o;$(".touch-progress").css("transform",`scaleX(${i/100})`)};c.action.volumeUp=m;c.action.volumeDown=m;const b=t=>{let i=h+t;let s=Math.abs(t);if(i>100){i=100;s=100-h}else if(i<0){i=0;s=h}const o=`${h} 👉 ${i}`;console.log(t,h,i);e.css("filter",`brightness(${i/100})`);const n=`\n
\n
\n 亮度: ${t>0?"+":"-"}${s}\n
\n
\n
\n
\n ${o}\n
\n
\n `;r.innerHTML=n;$(".touch-progress").css("transform",`scaleX(${i/100})`)};c.action.brightnessUp=b;c.action.brightnessDown=b;c.action.speedCancel=(()=>{r.innerHTML=`取消时间调整`;$(".touch-progress").css("transform","scaleX(0)")});if(!unsafeWindow.TOUCH_PLAYER_DEBUG){c.action.onActionEnd=(t=>{r.innerHTML="";if(t){if(t.type==="playback"){let i=e.prop("currentTime");i+=t.seconds;if(i<0){i=0}else if(i>a){i=a}e.prop("currentTime",i)}else if(t.type==="volume"){const t=JSON.parse(localStorage.bilibili_player_settings);t.video_status.volume=e.prop("volume");localStorage.bilibili_player_settings=JSON.stringify(t)}}d.classList.remove("adjust-opened")})}}function d(t){if(!t.hasClass("disable-original-hover")){t.addClass("disable-original-hover");const i=unsafeWindow.$(".bilibili-player-video");const e="touch-video-control-show";const s=i.data("events").click[0].handler;const o=new DoubleClickEvent(t=>s(t),()=>t.toggleClass(e));i.unbind("click");o.bind(i[0])}}const h=()=>{SpinQuery.any(()=>$(".bilibili-player-iconfont,.bilibili-player-video-quality-menu"),c);SpinQuery.condition(()=>$(".bilibili-player-video"),t=>t.length>0&&$("video").length>0&&$("video").prop("duration"),r);if(t.touchVideoPlayerDoubleTapControl){new SpinQuery(()=>$(".bilibili-player-area"),t=>t.length>0&&unsafeWindow.$&&unsafeWindow.$(".bilibili-player-video").data("events"),d).start()}};Observer.videoChange(h);i.applyStyle("touchPlayerStyle")}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.css"] = `.touch-video-box-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;z-index:14;pointer-events:none}.touch-video-box{border-radius:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgba(0,0,0,.85);position:relative;max-width:520px;max-height:240px;border:4px solid transparent;transform-origin:center}.touch-video-box.animation{transition:.2s}.touch-video-info{color:#fff;font-size:2rem;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;width:100%}.touch-row{flex-grow:1;display:flex;align-items:center;justify-content:center;width:100%}.touch-info{display:block;color:var(--theme-color)}.touch-result{display:block;font-size:1.5rem;line-height:150%}.touch-speed{display:block;background:rgba(0,0,0,.1);padding:.5em}.touch-progress{position:absolute;bottom:0;left:0;background:var(--theme-color);width:100%;transform-origin:left;transform:scaleX(0);height:4px}.touch-row-item{flex:1 0 0;display:none;align-items:center;justify-content:center}.touch-row-item-wide{flex:1.5 0 0;display:flex;align-items:center;justify-content:center}.videoshot{background-color:transparent;background-image:none;transform-origin:center;transform:scale(.9)}.adjust-closed{transform:rotateX(90deg) rotateY(90deg) scale(.5)}.adjust-opened{transform:rotateX(0) rotateY(0) scale(1)}.touch-video-info.speed .touch-row-item{display:flex}.touch-video-info.cancel .touch-progress,.touch-video-info.cancel .touch-result{opacity:0}.disable-original-hover .bilibili-player-video-control-bottom,.disable-original-hover .bilibili-player-video-control-mask{opacity:0!important;visibility:hidden!important}.disable-original-hover .bilibili-player-video-control-wrap,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-bottom,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-mask{opacity:1!important;visibility:visible!important}.bilibili-player-video-control-top,.disable-original-hover .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.bilibili-player-video-control-top,.bilibili-player-video-progress-detail{bottom:0!important}.disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:38px!important}div.bilibili-player-video-control{height:38px!important;align-items:center!important}.bilibili-player-video-btn{flex-grow:1!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-video-inputbar,.bilibili-player-video-progress{flex-grow:30!important}.bilibili-player-video-quality-menu{display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-iconfont-color,.bilibili-player-iconfont-danmaku,.bilibili-player-iconfont-danmaku-off,.bilibili-player-iconfont-fullscreen,.bilibili-player-iconfont-pause,.bilibili-player-iconfont-repeat,.bilibili-player-iconfont-setting,.bilibili-player-iconfont-start,.bilibili-player-iconfont-volume,.bilibili-player-iconfont-volume-max,.bilibili-player-iconfont-volume-min,.bilibili-player-iconfont-web-fullscreen,.bilibili-player-iconfont-widescreen{font-size:2.5rem!important}.bilibili-player-iconfont-next{font-size:2rem!important}.bilibili-player-video-btn-setting-panel,.bilibili-player-video-danmaku-setting-wrap,.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar,.bpui-selectmenu-list{left:unset!important;bottom:38px!important}.bilibili-player-video-volumebar-wrp{left:unset!important}.bilibili-player-video-control-wrap{padding:0!important}.bilibili-player-video-control-bottom{padding:0!important;align-items:center!important}.bilibili-player-iconfont-next,.bilibili-player-iconfont-setting,.bilibili-player-video-btn-volume.video-state-volume-max .bilibili-player-iconfont-volume-max,.bilibili-player-video-btn-volume.video-state-volume-min .bilibili-player-iconfont-volume-min,.bilibili-player-video-btn-volume:not(.video-state-volume-max):not(.video-state-volume-min) .bilibili-player-iconfont-volume,.bilibili-player-video-control-bottom-left{display:flex!important;align-items:center!important}.bilibili-player-video-btn-danmaku{flex-grow:0!important;display:flex!important;align-items:center!important;height:100%!important;margin:0!important;padding:0!important}.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-right{flex-grow:1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar{bottom:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-fullscreen{margin-right:0!important;padding-right:8px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-start{padding-left:8px!important;flex-grow:1.2!important;margin-right:0!important;margin-left:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn{padding:0 3px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom,.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom-right,.bilibili-player-video-control-bottom-left{height:100%!important;margin:0!important}.bilibili-player-video-btn-setting-panel-hover-bridge{display:none!important}.disable-original-hover .bilibili-player-video-control-wrap:hover .bilibili-player-video-control-top .bilibili-player-video-progress-slider,.disable-original-hover.bilibili-player-area.video-control-show .bilibili-player-video-control-top .bilibili-player-video-progress-slider{height:2px!important}.disable-original-hover.bilibili-player-area .bilibili-player-video-control .bilibili-player-video-progress-detail.show{bottom:1px!important}.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bc,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bl,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-br{bottom:20px!important}.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:44px!important}.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:60px!important}.bilibili-player.mode-fullscreen .disable-original-hover .bilibili-player-video-control-top{opacity:1!important}#bofqi *{-webkit-tap-highlight-color:transparent!important}@media screen and (min-width:750px){.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar{background:#fff1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control{height:100%!important;margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom{margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left{height:100%!important}.bilibili-player-video-btn.bilibili-player-video-btn-start{flex-grow:.5!important}.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:0!important;right:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:54px!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:48px!important}}`; +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.js"] = (()=>{return(t,e)=>{const i=t=>{let e=0;let i=0;while(t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop)){e+=t.offsetLeft-t.scrollLeft;i+=t.offsetTop-t.scrollTop;t=t.offsetParent}return{x:e,y:i}};const s=t=>{t=Math.abs(t);const e=Math.floor(t/3600);const i=Math.floor((t-e*3600)/60);const s=t-e*3600-i*60;let o=fixed(s)+"秒";if(i>0){o=i+"分"+o}if(e>0){o=e+"时"+o}return o};const o=t=>{t=Math.abs(t);const e=Math.floor(t/3600);const i=Math.floor((t-e*3600)/60);const s=t-e*3600-i*60;let o=(s<10?"0":"")+fixed(s);o=(i<10?"0":"")+i+":"+o;o=(e<10?"0":"")+e+":"+o;return o};class n{constructor(t){this.action=new l(t);this.onTouchStart=null;this.onTouchEnd=null;this.direction=null;t.addEventListener("touchstart",t=>{this.xDown=t.touches[0].clientX;this.yDown=t.touches[0].clientY;if(this.onTouchStart){this.onTouchStart(t)}});t.addEventListener("touchmove",e=>{if(!this.xDown||!this.yDown){return}const s=e.touches[0].clientX;const o=e.touches[0].clientY;const n=i(t);const l={x:(e.touches[0].pageX-n.x)/t.clientWidth,y:(e.touches[0].pageY-n.y)/t.clientHeight,width:t.clientWidth,height:t.clientHeight};const a=this.xDown-s;const c=this.yDown-o;if(!this.direction){let t="";if(Math.abs(a)>Math.abs(c)){t="horizontal"}else{t="vertical"}this.direction=t;e.preventDefault()}else{if(this.direction==="vertical"){this.action.startAction(this.direction,c,l)}else if(this.direction==="horizontal"){this.action.startAction(this.direction,-a,l)}e.preventDefault()}});t.addEventListener("touchend",t=>{this.xDown=null;this.yDown=null;this.direction=null;if(this.onTouchEnd){this.onTouchEnd(t)}})}}class l{constructor(t){this.lowSpeedForward=null;this.lowSpeedBackward=null;this.mediumSpeedForward=null;this.mediumSpeedBackward=null;this.highSpeedForward=null;this.highSpeedBackward=null;this.volumeUp=null;this.volumeDown=null;this.brightnessUp=null;this.brightnessDown=null;this.speedCancel=null;this.minSwipeDistance=20;this.onActionStart=null;this.onActionEnd=null;this.element=t;this.touchStart=false;this.startPosition=null;this.lastAction=null;t.addEventListener("touchstart",()=>{this.touchStart=true});t.addEventListener("touchend",()=>{this.startPosition=null;this.onActionEnd&&this.onActionEnd(this.lastAction);this.lastAction=null})}startAction(t,e,i){if(this.touchStart){this.onActionStart&&this.onActionStart(t);this.startPosition=i;this.touchStart=false}if(t==="vertical"){let t;let s;if(this.startPosition.x<1/2){t=this.brightnessUp;s=this.brightnessDown;const o=Math.round(200*(e-this.minSwipeDistance)/(1.5*i.height));if(e>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"brightness",brightness:o}}else{t=this.volumeUp;s=this.volumeDown;const o=Math.round(200*(e-this.minSwipeDistance)/(1.5*i.height));if(e>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"volume",volume:o}}}else if(t==="horizontal"){if(i.y<1/3&&(i.x<.1||i.x>.9)){this.speedCancel&&this.speedCancel();this.lastAction=null}else{let t=0;let i;let s;if(this.startPosition.y<1/3){t=.05;i=this.lowSpeedForward;s=this.lowSpeedBackward}else if(this.startPosition.y>=1/3&&this.startPosition.y<=2/3){t=.2;i=this.mediumSpeedForward;s=this.mediumSpeedBackward}else{t=1;i=this.highSpeedForward;s=this.highSpeedBackward}if(e>0){const s=(e-this.minSwipeDistance)*t;i&&i(s);this.lastAction={type:"playback",seconds:s}}else{const i=(e+this.minSwipeDistance)*t;s&&s(i);this.lastAction={type:"playback",seconds:i}}}}}}class a{constructor(){this.aid=unsafeWindow.aid;this.cid=unsafeWindow.cid;this.cidData=null;this.supportWebp=a.supportWebp}getVideoshot(t,e){if(!(this.aid&&this.cid)){return}if(!this.cidData){Ajax.getText(`https://api.bilibili.com/x/player/videoshot?aid=${this.aid}&cid=${this.cid}&index=1`).then(i=>{this.cidData=JSON.parse(i).data;this.getVideoshot(t,e)})}else{const i=this.cidData;const s=i.index;let o=0;for(let e=0;e=s[e]&&tt.replace(".jpg",".jpg@.webp"))}const l=parseInt(i.pv_x_len)||10;const a=parseInt(i.pv_y_len)||10;const c=parseInt(i.pv_x_size)||160;const r=parseInt(i.pv_y_size)||90;const h=-(o%100%l)*c;const d=-Math.floor(o%100/a)*r;e({width:c,height:r,backgroundImage:`url(${n[Math.floor(o/100)]})`,backgroundPosition:`${h}px ${d}px`})}}static get supportWebp(){try{const t=document.createElement("canvas");if(t.getContext&&t.getContext("2d")){try{return t.toDataURL("image/webp").indexOf("data:image/webp")===0}catch(t){return false}}else{return false}}catch(t){return false}}}function c(t){t.unbind("click")}function r(e){if($(".touch-video-box").length!==0){return}$(".bilibili-player-video-subtitle").before(`\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
`);const i=$("video");const l=i.prop("duration");const c=new n(e.get(0));const r=document.getElementsByClassName("touch-video-info")[0];const h=document.getElementsByClassName("touch-video-box")[0];let d=100;let u=Math.round(i.prop("volume")*100);const p=t=>{t/=100;if(t<0){t=0}else if(t>1){t=1}i.prop("volume",t);$(".bilibili-player-video-volume-num").text(Math.round(t*100));$(".bui-thumb").css("transform",`translateY(-${48*t}px)`);$(".bui-track-vertical .bui-bar").css("transform",`scaleY(${t})`);if(t===0){$(".bilibili-player-video-btn-volume").addClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");i.prop("muted",true)}else if(t===1){$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").addClass("video-state-volume-max");i.prop("muted",false)}else{$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");i.prop("muted",false)}};if(t.touchVideoPlayerAnimation){h.classList.add("animation")}c.action.onActionStart=(t=>{h.classList.add("adjust-opened");r.classList[t==="vertical"?"remove":"add"]("speed");u=Math.round(i.prop("volume")*100);const e=i.css("filter").match(/brightness\((.+)\)/);d=Math.trunc((e?e[1]:1)*100)});const v=new a;const f=t=>{return e=>{const n=i.prop("currentTime");const a=fixed(100*n/l);let c=n+e;let h=fixed(100*c/l);let d=e;if(c>l){c=l;h=100;d=l-n}else if(c<0){c=0;h=0;d=n}const u=`${o(n)} (${a}%)
👇
${o(c)} (${h}%)`;r.classList.remove("cancel");r.querySelector(".touch-speed").innerHTML=`${t}速`;r.querySelector(".touch-info").innerHTML=`进度: ${e>0?"+":"-"}${s(d)}`;r.querySelector(".touch-result").innerHTML=u;v.getVideoshot(c,t=>$(".videoshot").css(t));$(".touch-progress").css("transform",`scaleX(${h/100})`)}};c.action.lowSpeedBackward=f("低");c.action.lowSpeedForward=f("低");c.action.mediumSpeedBackward=f("中");c.action.mediumSpeedForward=f("中");c.action.highSpeedBackward=f("高");c.action.highSpeedForward=f("高");const m=t=>{let e=u+t;let i=Math.abs(t);if(e>100){e=100;i=100-u}else if(e<0){e=0;i=u}const s=`${u} 👉 ${e}`;p(e);r.classList.remove("cancel");r.querySelector(".touch-info").innerHTML=`音量: ${t>0?"+":"-"}${i}`;r.querySelector(".touch-result").innerHTML=s;$(".touch-progress").css("transform",`scaleX(${e/100})`)};c.action.volumeUp=m;c.action.volumeDown=m;const b=t=>{let e=d+t;let s=Math.abs(t);if(e>100){e=100;s=100-d}else if(e<0){e=0;s=d}const o=`${d} 👉 ${e}`;console.log(t,d,e);i.css("filter",`brightness(${e/100})`);r.classList.remove("cancel");r.querySelector(".touch-info").innerHTML=`亮度: ${t>0?"+":"-"}${s}`;r.querySelector(".touch-result").innerHTML=o;$(".touch-progress").css("transform",`scaleX(${e/100})`)};c.action.brightnessUp=b;c.action.brightnessDown=b;c.action.speedCancel=(()=>{r.querySelector(".touch-info").innerHTML=`取消时间调整`;r.classList.add("cancel")});if(!unsafeWindow.TOUCH_PLAYER_DEBUG){c.action.onActionEnd=(t=>{if(t){if(t.type==="playback"){let e=i.prop("currentTime");e+=t.seconds;if(e<0){e=0}else if(e>l){e=l}i.prop("currentTime",e)}else if(t.type==="volume"){const t=JSON.parse(localStorage.bilibili_player_settings);t.video_status.volume=i.prop("volume");localStorage.bilibili_player_settings=JSON.stringify(t)}}h.classList.remove("adjust-opened")})}}function h(t){if(!t.hasClass("disable-original-hover")){t.addClass("disable-original-hover");const e=unsafeWindow.$(".bilibili-player-video");const i="touch-video-control-show";const s=e.data("events").click[0].handler;const o=new DoubleClickEvent(t=>s(t),()=>t.toggleClass(i));e.unbind("click");o.bind(e[0])}}const d=()=>{SpinQuery.any(()=>$(".bilibili-player-iconfont,.bilibili-player-video-quality-menu"),c);SpinQuery.condition(()=>$(".bilibili-player-video"),t=>t.length>0&&$("video").length>0&&$("video").prop("duration"),r);if(t.touchVideoPlayerDoubleTapControl){new SpinQuery(()=>$(".bilibili-player-area"),t=>t.length>0&&unsafeWindow.$&&unsafeWindow.$(".bilibili-player-video").data("events"),h).start()}};Observer.videoChange(d);e.applyStyle("touchPlayerStyle")}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/tweets.min.css"] = `.nav-search-submit{display:block!important;color:var(--foreground-color-d)!important;transform:translateX(-125px);-webkit-tap-highlight-color:transparent}.nav-search-submit:hover{color:var(--foreground-color)!important}#nav_searchform{transition:.3s ease-out;box-shadow:none;width:0!important;padding:0!important}.preserve-rank>a{opacity:0!important;pointer-events:none}.showSearch .preserve-rank>a{opacity:.382!important;pointer-events:initial}.showSearch #nav_searchform{box-shadow:0 2px 10px 1px #0002;width:250px!important}.showSearch .nav-search-submit,.showSearch .nav-search-submit:hover{color:#888!important;transform:none}@media only screen and (max-width:1291px){.showSearch #nav_searchform{width:140px!important}}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/video-info.min.js"] = (()=>{return(t,i)=>{class e{constructor(t){this.aid=t}async fetchInfo(){const t=JSON.parse(await Ajax.getText(`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}`));if(t.code!==0){throw new Error(t.message)}const i=t.data;this.cid=i.cid;this.pageCount=i.videos;this.coverUrl=i.pic;this.tagId=i.tid;this.tagName=i.tname;this.title=i.title;this.description=i.desc;this.up={uid:i.owner.mid,name:i.owner.name,faceUrl:i.owner.face};this.pages=i.pages.map(t=>{return{cid:t.cid,title:t.part,pageNumber:t.page}});return this}async fetchDanmaku(){this.danmaku=new s(this.cid);return this.danmaku.fetchInfo()}}class a{constructor(t,i){this.text=t;this.p=i}}class s{constructor(t){this.cid=t}async fetchInfo(){const t=await Ajax.getText(`https://api.bilibili.com/x/v1/dm/list.so?oid=${this.cid}`);this.rawXML=t;const i=(new DOMParser).parseFromString(t,"application/xml").documentElement;this.xml=i;this.danmakus=[].map.call(i.querySelectorAll("d[p]"),t=>{return new a(t.innerHTML,t.getAttribute("p"))})}}class n{constructor(t){this.ep=t;this.videos=[]}async fetchInfo(){const t=await Ajax.getText(`https://www.bilibili.com/bangumi/play/ep${this.ep}/`);const i=JSON.parse(t.match(/window\.__INITIAL_STATE__=(.*);\(function\(\){/)[1]);this.title=i.mediaInfo.title;this.cover=i.mediaInfo.cover;this.squareCover=i.mediaInfo.square_cover;this.aid=i.epInfo.aid;this.cid=i.epInfo.cid;this.videos=i.epList.map(async t=>{return{title:t.index_title,aid:t.aid,cid:t.cid,info:await new e(t.aid).fetchInfo()}});return this}}return{export:{VideoInfo:e,BangumiInfo:n,Danmaku:a,DanmakuInfo:s}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/view-cover.min.js"] = (()=>{return(e,t)=>{const{VideoInfo:n}=t.import("video-info");const{getFriendlyTitle:i}=t.import("title");class o{constructor(e){this.url=e;if(document.querySelector(".image-viewer")===null){this.createContainer()}this.viewer=document.querySelector(".image-viewer-container");this.downloadImage();addSettingsListener("filenameFormat",()=>{this.viewer.querySelector(".download").setAttribute("download",this.filename)})}createContainer(){document.body.insertAdjacentHTML("beforeend",t.import("imageViewerHtml"));document.querySelector(".image-viewer-container .close").addEventListener("click",()=>this.hide());t.applyStyle("imageViewerStyle")}downloadImage(){document.querySelector("#view-cover").style.display=this.url?"flex":"none";if(this.url===""){return}const e=new XMLHttpRequest;e.open("GET",this.url.replace("http:","https:"),true);e.responseType="blob";e.onload=(()=>{const t=i();const n=URL.createObjectURL(e.response);if(this.imageData){URL.revokeObjectURL(this.imageData)}this.imageData=n;const o=this.viewer.querySelector(".download");o.setAttribute("href",n);o.setAttribute("download",this.filename);this.viewer.querySelector(".copy-link").addEventListener("click",()=>GM_setClipboard(this.url));this.viewer.querySelector(".new-tab").setAttribute("href",this.url);this.viewer.querySelector(".image").src=n});e.send()}show(){this.viewer.classList.add("opened")}hide(){this.viewer.classList.remove("opened")}get filename(){return i()+this.url.substring(this.url.lastIndexOf("."))}}return(()=>{if(!document.URL.includes("live.bilibili.com")){return{widget:{content:`\n \n \n 查看封面\n `,condition:async()=>{const e=await SpinQuery.select(()=>(unsafeWindow||window).aid);return Boolean(e)},success:async()=>{async function e(){const e=(unsafeWindow||window).aid;const t=new n(e);try{await t.fetchInfo()}catch(e){return""}return t.coverUrl}let t=new o(await e());document.querySelector("#view-cover").addEventListener("click",()=>{t.show()});const i=async()=>{t=new o(await e())};Observer.videoChange(i)}}}}else{return{widget:{content:`\n \n \n 查看封面\n `,condition:async()=>{const e=await SpinQuery.select(()=>document.querySelector(".header-info-ctnr .room-cover"));return Boolean(e)},success:async()=>{const e=document.querySelector(".header-info-ctnr .room-cover");const t=e.getAttribute("href").match(/space\.bilibili\.com\/([\d]+)/);if(t&&t[1]){const e=t[1];const n=`https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=${e}`;const i=await Ajax.getJson(n);const r=i.data.cover;const s=new o(r);document.querySelector("#view-cover").addEventListener("click",()=>{s.show()})}}}}}})()}})(); diff --git a/bilibili-evolved.preview-offline.user.js b/bilibili-evolved.preview-offline.user.js index 0d77405df..3e5844589 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 353.83 +// @version 353.84 // @description Bilibili Evolved 的预览离线版, 可以抢先体验新功能, 并且所有功能都已内置于脚本中. // @author Grant Howard, Coulomb-G // @copyright 2019, Grant Howard (https://github.com/the1812) & Coulomb-G (https://github.com/Coulomb-G) @@ -1124,8 +1124,8 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m 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}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/toast.min.js"] = (()=>{return(t,e)=>{class s{constructor(t="",e="",s="default"){this.type=s;this.message=t;this.title=e;this.duration=3e3;this.element=$(this.cardHtml)[0];document.querySelector(".toast-card-container").insertAdjacentElement("beforeend",this.element)}show(){this.element.classList.add("visible");this.element.querySelector(".toast-card-dismiss").addEventListener("click",()=>this.dismiss());if(this.duration){setTimeout(()=>this.dismiss(),this.duration)}}dismiss(){if(this.element.classList.contains("visible")){this.element.addEventListener("transitionend",()=>this.element.remove());this.element.classList.remove("visible")}}get cardHtml(){return`\n
\n
\n

${this.title}

\n
\n \n \n \n
\n
\n
${this.message}
\n
\n `}static get container(){return document.querySelector(".toast-card-container")}static createToastContainer(){if(!document.querySelector(".toast-card-container")){document.body.insertAdjacentHTML("beforeend",`
`)}}static internalShow(t,e,i,n){const a=new s(t,e,n);a.duration=i;a.show();return a}static show(t,e,s){return this.internalShow(t,e,s,"default")}static info(t,e,s){return this.internalShow(t,e,s,"info")}static success(t,e,s){return this.internalShow(t,e,s,"success")}static error(t,e,s){return this.internalShow(t,e,s,"error")}}e.applyStyle("toastStyle");s.createToastContainer();return{export:s}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-navbar.min.js"] = (()=>{return(e,r)=>{SpinQuery.count(()=>document.querySelectorAll("ul.fr>li.nav-item:not(.profile-info)"),6,e=>{e.forEach(e=>{e.style.cursor="pointer";const r=e.querySelector("a.t");r.removeAttribute("href")})})}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.css"] = `.touch-video-box-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;z-index:14;pointer-events:none}.touch-video-box{border-radius:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgba(0,0,0,.85);position:relative;max-width:520px;max-height:240px;border:4px solid transparent;transform-origin:center}.touch-video-box.animation{transition:.2s}.touch-video-info{color:#fff;font-size:2rem;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;width:100%}.touch-row{flex-grow:1;display:flex;align-items:center;justify-content:center;width:100%}.touch-info{display:block;color:var(--theme-color)}.touch-result{display:block;font-size:1.5rem;line-height:150%}.touch-speed{display:block;background:rgba(0,0,0,.1);padding:.5em}.touch-progress{position:absolute;bottom:0;left:0;background:var(--theme-color);width:100%;transform-origin:left;transform:scaleX(0);height:4px;transition:.2s}.touch-row-item{flex:1 0 0;display:flex;align-items:center;justify-content:center}.touch-row-item-wide{flex:1.5 0 0;display:flex;align-items:center;justify-content:center}.videoshot{background-color:transparent;background-image:none;transform-origin:center;transform:scale(.9)}.adjust-closed{transform:rotateX(90deg) rotateY(90deg) scale(.5)}.adjust-opened{transform:rotateX(0) rotateY(0) scale(1)}.disable-original-hover .bilibili-player-video-control-bottom,.disable-original-hover .bilibili-player-video-control-mask{opacity:0!important;visibility:hidden!important}.disable-original-hover .bilibili-player-video-control-wrap,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-bottom,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-mask{opacity:1!important;visibility:visible!important}.bilibili-player-video-control-top,.disable-original-hover .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.bilibili-player-video-control-top,.bilibili-player-video-progress-detail{bottom:0!important}.disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:38px!important}div.bilibili-player-video-control{height:38px!important;align-items:center!important}.bilibili-player-video-btn{flex-grow:1!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-video-inputbar,.bilibili-player-video-progress{flex-grow:30!important}.bilibili-player-video-quality-menu{display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-iconfont-color,.bilibili-player-iconfont-danmaku,.bilibili-player-iconfont-danmaku-off,.bilibili-player-iconfont-fullscreen,.bilibili-player-iconfont-pause,.bilibili-player-iconfont-repeat,.bilibili-player-iconfont-setting,.bilibili-player-iconfont-start,.bilibili-player-iconfont-volume,.bilibili-player-iconfont-volume-max,.bilibili-player-iconfont-volume-min,.bilibili-player-iconfont-web-fullscreen,.bilibili-player-iconfont-widescreen{font-size:2.5rem!important}.bilibili-player-iconfont-next{font-size:2rem!important}.bilibili-player-video-btn-setting-panel,.bilibili-player-video-danmaku-setting-wrap,.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar,.bpui-selectmenu-list{left:unset!important;bottom:38px!important}.bilibili-player-video-volumebar-wrp{left:unset!important}.bilibili-player-video-control-wrap{padding:0!important}.bilibili-player-video-control-bottom{padding:0!important;align-items:center!important}.bilibili-player-iconfont-next,.bilibili-player-iconfont-setting,.bilibili-player-video-btn-volume.video-state-volume-max .bilibili-player-iconfont-volume-max,.bilibili-player-video-btn-volume.video-state-volume-min .bilibili-player-iconfont-volume-min,.bilibili-player-video-btn-volume:not(.video-state-volume-max):not(.video-state-volume-min) .bilibili-player-iconfont-volume,.bilibili-player-video-control-bottom-left{display:flex!important;align-items:center!important}.bilibili-player-video-btn-danmaku{flex-grow:0!important;display:flex!important;align-items:center!important;height:100%!important;margin:0!important;padding:0!important}.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-right{flex-grow:1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar{bottom:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-fullscreen{margin-right:0!important;padding-right:8px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-start{padding-left:8px!important;flex-grow:1.2!important;margin-right:0!important;margin-left:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn{padding:0 3px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom,.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom-right,.bilibili-player-video-control-bottom-left{height:100%!important;margin:0!important}.bilibili-player-video-btn-setting-panel-hover-bridge{display:none!important}.disable-original-hover .bilibili-player-video-control-wrap:hover .bilibili-player-video-control-top .bilibili-player-video-progress-slider,.disable-original-hover.bilibili-player-area.video-control-show .bilibili-player-video-control-top .bilibili-player-video-progress-slider{height:2px!important}.disable-original-hover.bilibili-player-area .bilibili-player-video-control .bilibili-player-video-progress-detail.show{bottom:1px!important}.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bc,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bl,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-br{bottom:20px!important}.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:44px!important}.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:60px!important}.bilibili-player.mode-fullscreen .disable-original-hover .bilibili-player-video-control-top{opacity:1!important}#bofqi *{-webkit-tap-highlight-color:transparent!important}@media screen and (min-width:750px){.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar{background:#fff1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control{height:100%!important;margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom{margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left{height:100%!important}.bilibili-player-video-btn.bilibili-player-video-btn-start{flex-grow:.5!important}.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:0!important;right:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:54px!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:48px!important}}`; -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.js"] = (()=>{return(t,i)=>{const e=t=>{let i=0;let e=0;while(t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop)){i+=t.offsetLeft-t.scrollLeft;e+=t.offsetTop-t.scrollTop;t=t.offsetParent}return{x:i,y:e}};const s=t=>{t=Math.abs(t);const i=Math.floor(t/3600);const e=Math.floor((t-i*3600)/60);const s=t-i*3600-e*60;let o=fixed(s)+"秒";if(e>0){o=e+"分"+o}if(i>0){o=i+"时"+o}return o};const o=t=>{t=Math.abs(t);const i=Math.floor(t/3600);const e=Math.floor((t-i*3600)/60);const s=t-i*3600-e*60;let o=(s<10?"0":"")+fixed(s);o=(e<10?"0":"")+e+":"+o;o=(i<10?"0":"")+i+":"+o;return o};class n{constructor(t){this.action=new a(t);this.onTouchStart=null;this.onTouchEnd=null;this.direction=null;t.addEventListener("touchstart",t=>{this.xDown=t.touches[0].clientX;this.yDown=t.touches[0].clientY;if(this.onTouchStart){this.onTouchStart(t)}});t.addEventListener("touchmove",i=>{if(!this.xDown||!this.yDown){return}const s=i.touches[0].clientX;const o=i.touches[0].clientY;const n=e(t);const a={x:(i.touches[0].pageX-n.x)/t.clientWidth,y:(i.touches[0].pageY-n.y)/t.clientHeight,width:t.clientWidth,height:t.clientHeight};const l=this.xDown-s;const c=this.yDown-o;if(!this.direction){let t="";if(Math.abs(l)>Math.abs(c)){t="horizontal"}else{t="vertical"}this.direction=t;i.preventDefault()}else{if(this.direction==="vertical"){this.action.startAction(this.direction,c,a)}else if(this.direction==="horizontal"){this.action.startAction(this.direction,-l,a)}i.preventDefault()}});t.addEventListener("touchend",t=>{this.xDown=null;this.yDown=null;this.direction=null;if(this.onTouchEnd){this.onTouchEnd(t)}})}}class a{constructor(t){this.lowSpeedForward=null;this.lowSpeedBackward=null;this.mediumSpeedForward=null;this.mediumSpeedBackward=null;this.highSpeedForward=null;this.highSpeedBackward=null;this.volumeUp=null;this.volumeDown=null;this.brightnessUp=null;this.brightnessDown=null;this.speedCancel=null;this.minSwipeDistance=20;this.onActionStart=null;this.onActionEnd=null;this.element=t;this.touchStart=false;this.startPosition=null;this.lastAction=null;t.addEventListener("touchstart",()=>{this.touchStart=true});t.addEventListener("touchend",()=>{this.startPosition=null;this.onActionEnd&&this.onActionEnd(this.lastAction);this.lastAction=null})}startAction(t,i,e){if(this.touchStart){this.onActionStart&&this.onActionStart(t);this.startPosition=e;this.touchStart=false}if(t==="vertical"){let t;let s;if(this.startPosition.x<1/2){t=this.brightnessUp;s=this.brightnessDown;const o=Math.round(200*(i-this.minSwipeDistance)/(1.5*e.height));if(i>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"brightness",brightness:o}}else{t=this.volumeUp;s=this.volumeDown;const o=Math.round(200*(i-this.minSwipeDistance)/(1.5*e.height));if(i>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"volume",volume:o}}}else if(t==="horizontal"){if(e.y<1/3&&(e.x<.1||e.x>.9)){this.speedCancel&&this.speedCancel();this.lastAction=null}else{let t=0;let e;let s;if(this.startPosition.y<1/3){t=.05;e=this.lowSpeedForward;s=this.lowSpeedBackward}else if(this.startPosition.y>=1/3&&this.startPosition.y<=2/3){t=.2;e=this.mediumSpeedForward;s=this.mediumSpeedBackward}else{t=1;e=this.highSpeedForward;s=this.highSpeedBackward}if(i>0){const s=(i-this.minSwipeDistance)*t;e&&e(s);this.lastAction={type:"playback",seconds:s}}else{const e=(i+this.minSwipeDistance)*t;s&&s(e);this.lastAction={type:"playback",seconds:e}}}}}}class l{constructor(){this.aid=unsafeWindow.aid;this.cid=unsafeWindow.cid;this.cidData=null;this.supportWebp=l.supportWebp}getVideoshot(t,i){if(!(this.aid&&this.cid)){return}if(!this.cidData){Ajax.getText(`https://api.bilibili.com/x/player/videoshot?aid=${this.aid}&cid=${this.cid}&index=1`).then(e=>{this.cidData=JSON.parse(e).data;this.getVideoshot(t,i)})}else{const e=this.cidData;const s=e.index;let o=0;for(let i=0;i=s[i]&&tt.replace(".jpg",".jpg@.webp"))}const a=parseInt(e.pv_x_len)||10;const l=parseInt(e.pv_y_len)||10;const c=parseInt(e.pv_x_size)||160;const r=parseInt(e.pv_y_size)||90;const d=-(o%100%a)*c;const h=-Math.floor(o%100/l)*r;i({width:c,height:r,backgroundImage:`url(${n[Math.floor(o/100)]})`,backgroundPosition:`${d}px ${h}px`})}}static get supportWebp(){try{const t=document.createElement("canvas");if(t.getContext&&t.getContext("2d")){try{return t.toDataURL("image/webp").indexOf("data:image/webp")===0}catch(t){return false}}else{return false}}catch(t){return false}}}function c(t){t.unbind("click")}function r(i){if($(".touch-video-box").length!==0){return}$(".bilibili-player-video-subtitle").before(`\n
\n
\n
\n
\n
\n
`);const e=$("video");const a=e.prop("duration");const c=new n(i.get(0));const r=document.getElementsByClassName("touch-video-info")[0];const d=document.getElementsByClassName("touch-video-box")[0];let h=100;let u=Math.round(e.prop("volume")*100);const p=t=>{t/=100;if(t<0){t=0}else if(t>1){t=1}e.prop("volume",t);$(".bilibili-player-video-volume-num").text(Math.round(t*100));$(".bui-thumb").css("transform",`translateY(-${48*t}px)`);$(".bui-track-vertical .bui-bar").css("transform",`scaleY(${t})`);if(t===0){$(".bilibili-player-video-btn-volume").addClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");e.prop("muted",true)}else if(t===1){$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").addClass("video-state-volume-max");e.prop("muted",false)}else{$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");e.prop("muted",false)}};if(t.touchVideoPlayerAnimation){d.classList.add("animation")}c.action.onActionStart=(()=>{d.classList.add("adjust-opened");r.innerHTML="";u=Math.round(e.prop("volume")*100);const t=e.css("filter").match(/brightness\((.+)\)/);h=Math.trunc((t?t[1]:1)*100)});const v=new l;const f=t=>{return i=>{const n=e.prop("currentTime");const l=fixed(100*n/a);let c=n+i;let d=fixed(100*c/a);let h=i;if(c>a){c=a;d=100;h=a-n}else if(c<0){c=0;d=0;h=n}const u=`${o(n)} (${l}%)
👇
${o(c)} (${d}%)`;const p=`\n
\n
\n ${t}速\n
\n
\n 进度: ${i>0?"+":"-"}${s(h)}\n
\n
\n
\n
\n
\n
\n
\n ${u}\n
\n
\n `;r.innerHTML=p;v.getVideoshot(c,t=>$(".videoshot").css(t));$(".touch-progress").css("transform",`scaleX(${d/100})`)}};c.action.lowSpeedBackward=f("低");c.action.lowSpeedForward=f("低");c.action.mediumSpeedBackward=f("中");c.action.mediumSpeedForward=f("中");c.action.highSpeedBackward=f("高");c.action.highSpeedForward=f("高");const m=t=>{let i=u+t;let e=Math.abs(t);if(i>100){i=100;e=100-u}else if(i<0){i=0;e=u}const s=`${u} 👉 ${i}`;p(i);const o=`\n
\n
\n 音量: ${t>0?"+":"-"}${e}\n
\n
\n
\n
\n ${s}\n
\n
\n `;r.innerHTML=o;$(".touch-progress").css("transform",`scaleX(${i/100})`)};c.action.volumeUp=m;c.action.volumeDown=m;const b=t=>{let i=h+t;let s=Math.abs(t);if(i>100){i=100;s=100-h}else if(i<0){i=0;s=h}const o=`${h} 👉 ${i}`;console.log(t,h,i);e.css("filter",`brightness(${i/100})`);const n=`\n
\n
\n 亮度: ${t>0?"+":"-"}${s}\n
\n
\n
\n
\n ${o}\n
\n
\n `;r.innerHTML=n;$(".touch-progress").css("transform",`scaleX(${i/100})`)};c.action.brightnessUp=b;c.action.brightnessDown=b;c.action.speedCancel=(()=>{r.innerHTML=`取消时间调整`;$(".touch-progress").css("transform","scaleX(0)")});if(!unsafeWindow.TOUCH_PLAYER_DEBUG){c.action.onActionEnd=(t=>{r.innerHTML="";if(t){if(t.type==="playback"){let i=e.prop("currentTime");i+=t.seconds;if(i<0){i=0}else if(i>a){i=a}e.prop("currentTime",i)}else if(t.type==="volume"){const t=JSON.parse(localStorage.bilibili_player_settings);t.video_status.volume=e.prop("volume");localStorage.bilibili_player_settings=JSON.stringify(t)}}d.classList.remove("adjust-opened")})}}function d(t){if(!t.hasClass("disable-original-hover")){t.addClass("disable-original-hover");const i=unsafeWindow.$(".bilibili-player-video");const e="touch-video-control-show";const s=i.data("events").click[0].handler;const o=new DoubleClickEvent(t=>s(t),()=>t.toggleClass(e));i.unbind("click");o.bind(i[0])}}const h=()=>{SpinQuery.any(()=>$(".bilibili-player-iconfont,.bilibili-player-video-quality-menu"),c);SpinQuery.condition(()=>$(".bilibili-player-video"),t=>t.length>0&&$("video").length>0&&$("video").prop("duration"),r);if(t.touchVideoPlayerDoubleTapControl){new SpinQuery(()=>$(".bilibili-player-area"),t=>t.length>0&&unsafeWindow.$&&unsafeWindow.$(".bilibili-player-video").data("events"),d).start()}};Observer.videoChange(h);i.applyStyle("touchPlayerStyle")}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.css"] = `.touch-video-box-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;z-index:14;pointer-events:none}.touch-video-box{border-radius:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgba(0,0,0,.85);position:relative;max-width:520px;max-height:240px;border:4px solid transparent;transform-origin:center}.touch-video-box.animation{transition:.2s}.touch-video-info{color:#fff;font-size:2rem;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;width:100%}.touch-row{flex-grow:1;display:flex;align-items:center;justify-content:center;width:100%}.touch-info{display:block;color:var(--theme-color)}.touch-result{display:block;font-size:1.5rem;line-height:150%}.touch-speed{display:block;background:rgba(0,0,0,.1);padding:.5em}.touch-progress{position:absolute;bottom:0;left:0;background:var(--theme-color);width:100%;transform-origin:left;transform:scaleX(0);height:4px}.touch-row-item{flex:1 0 0;display:none;align-items:center;justify-content:center}.touch-row-item-wide{flex:1.5 0 0;display:flex;align-items:center;justify-content:center}.videoshot{background-color:transparent;background-image:none;transform-origin:center;transform:scale(.9)}.adjust-closed{transform:rotateX(90deg) rotateY(90deg) scale(.5)}.adjust-opened{transform:rotateX(0) rotateY(0) scale(1)}.touch-video-info.speed .touch-row-item{display:flex}.touch-video-info.cancel .touch-progress,.touch-video-info.cancel .touch-result{opacity:0}.disable-original-hover .bilibili-player-video-control-bottom,.disable-original-hover .bilibili-player-video-control-mask{opacity:0!important;visibility:hidden!important}.disable-original-hover .bilibili-player-video-control-wrap,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-bottom,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-mask{opacity:1!important;visibility:visible!important}.bilibili-player-video-control-top,.disable-original-hover .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.bilibili-player-video-control-top,.bilibili-player-video-progress-detail{bottom:0!important}.disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:38px!important}div.bilibili-player-video-control{height:38px!important;align-items:center!important}.bilibili-player-video-btn{flex-grow:1!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-video-inputbar,.bilibili-player-video-progress{flex-grow:30!important}.bilibili-player-video-quality-menu{display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-iconfont-color,.bilibili-player-iconfont-danmaku,.bilibili-player-iconfont-danmaku-off,.bilibili-player-iconfont-fullscreen,.bilibili-player-iconfont-pause,.bilibili-player-iconfont-repeat,.bilibili-player-iconfont-setting,.bilibili-player-iconfont-start,.bilibili-player-iconfont-volume,.bilibili-player-iconfont-volume-max,.bilibili-player-iconfont-volume-min,.bilibili-player-iconfont-web-fullscreen,.bilibili-player-iconfont-widescreen{font-size:2.5rem!important}.bilibili-player-iconfont-next{font-size:2rem!important}.bilibili-player-video-btn-setting-panel,.bilibili-player-video-danmaku-setting-wrap,.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar,.bpui-selectmenu-list{left:unset!important;bottom:38px!important}.bilibili-player-video-volumebar-wrp{left:unset!important}.bilibili-player-video-control-wrap{padding:0!important}.bilibili-player-video-control-bottom{padding:0!important;align-items:center!important}.bilibili-player-iconfont-next,.bilibili-player-iconfont-setting,.bilibili-player-video-btn-volume.video-state-volume-max .bilibili-player-iconfont-volume-max,.bilibili-player-video-btn-volume.video-state-volume-min .bilibili-player-iconfont-volume-min,.bilibili-player-video-btn-volume:not(.video-state-volume-max):not(.video-state-volume-min) .bilibili-player-iconfont-volume,.bilibili-player-video-control-bottom-left{display:flex!important;align-items:center!important}.bilibili-player-video-btn-danmaku{flex-grow:0!important;display:flex!important;align-items:center!important;height:100%!important;margin:0!important;padding:0!important}.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-right{flex-grow:1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar{bottom:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-fullscreen{margin-right:0!important;padding-right:8px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-start{padding-left:8px!important;flex-grow:1.2!important;margin-right:0!important;margin-left:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn{padding:0 3px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom,.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom-right,.bilibili-player-video-control-bottom-left{height:100%!important;margin:0!important}.bilibili-player-video-btn-setting-panel-hover-bridge{display:none!important}.disable-original-hover .bilibili-player-video-control-wrap:hover .bilibili-player-video-control-top .bilibili-player-video-progress-slider,.disable-original-hover.bilibili-player-area.video-control-show .bilibili-player-video-control-top .bilibili-player-video-progress-slider{height:2px!important}.disable-original-hover.bilibili-player-area .bilibili-player-video-control .bilibili-player-video-progress-detail.show{bottom:1px!important}.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bc,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bl,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-br{bottom:20px!important}.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:44px!important}.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:60px!important}.bilibili-player.mode-fullscreen .disable-original-hover .bilibili-player-video-control-top{opacity:1!important}#bofqi *{-webkit-tap-highlight-color:transparent!important}@media screen and (min-width:750px){.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar{background:#fff1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control{height:100%!important;margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom{margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left{height:100%!important}.bilibili-player-video-btn.bilibili-player-video-btn-start{flex-grow:.5!important}.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:0!important;right:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:54px!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:48px!important}}`; +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/touch-player.min.js"] = (()=>{return(t,e)=>{const i=t=>{let e=0;let i=0;while(t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop)){e+=t.offsetLeft-t.scrollLeft;i+=t.offsetTop-t.scrollTop;t=t.offsetParent}return{x:e,y:i}};const s=t=>{t=Math.abs(t);const e=Math.floor(t/3600);const i=Math.floor((t-e*3600)/60);const s=t-e*3600-i*60;let o=fixed(s)+"秒";if(i>0){o=i+"分"+o}if(e>0){o=e+"时"+o}return o};const o=t=>{t=Math.abs(t);const e=Math.floor(t/3600);const i=Math.floor((t-e*3600)/60);const s=t-e*3600-i*60;let o=(s<10?"0":"")+fixed(s);o=(i<10?"0":"")+i+":"+o;o=(e<10?"0":"")+e+":"+o;return o};class n{constructor(t){this.action=new l(t);this.onTouchStart=null;this.onTouchEnd=null;this.direction=null;t.addEventListener("touchstart",t=>{this.xDown=t.touches[0].clientX;this.yDown=t.touches[0].clientY;if(this.onTouchStart){this.onTouchStart(t)}});t.addEventListener("touchmove",e=>{if(!this.xDown||!this.yDown){return}const s=e.touches[0].clientX;const o=e.touches[0].clientY;const n=i(t);const l={x:(e.touches[0].pageX-n.x)/t.clientWidth,y:(e.touches[0].pageY-n.y)/t.clientHeight,width:t.clientWidth,height:t.clientHeight};const a=this.xDown-s;const c=this.yDown-o;if(!this.direction){let t="";if(Math.abs(a)>Math.abs(c)){t="horizontal"}else{t="vertical"}this.direction=t;e.preventDefault()}else{if(this.direction==="vertical"){this.action.startAction(this.direction,c,l)}else if(this.direction==="horizontal"){this.action.startAction(this.direction,-a,l)}e.preventDefault()}});t.addEventListener("touchend",t=>{this.xDown=null;this.yDown=null;this.direction=null;if(this.onTouchEnd){this.onTouchEnd(t)}})}}class l{constructor(t){this.lowSpeedForward=null;this.lowSpeedBackward=null;this.mediumSpeedForward=null;this.mediumSpeedBackward=null;this.highSpeedForward=null;this.highSpeedBackward=null;this.volumeUp=null;this.volumeDown=null;this.brightnessUp=null;this.brightnessDown=null;this.speedCancel=null;this.minSwipeDistance=20;this.onActionStart=null;this.onActionEnd=null;this.element=t;this.touchStart=false;this.startPosition=null;this.lastAction=null;t.addEventListener("touchstart",()=>{this.touchStart=true});t.addEventListener("touchend",()=>{this.startPosition=null;this.onActionEnd&&this.onActionEnd(this.lastAction);this.lastAction=null})}startAction(t,e,i){if(this.touchStart){this.onActionStart&&this.onActionStart(t);this.startPosition=i;this.touchStart=false}if(t==="vertical"){let t;let s;if(this.startPosition.x<1/2){t=this.brightnessUp;s=this.brightnessDown;const o=Math.round(200*(e-this.minSwipeDistance)/(1.5*i.height));if(e>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"brightness",brightness:o}}else{t=this.volumeUp;s=this.volumeDown;const o=Math.round(200*(e-this.minSwipeDistance)/(1.5*i.height));if(e>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"volume",volume:o}}}else if(t==="horizontal"){if(i.y<1/3&&(i.x<.1||i.x>.9)){this.speedCancel&&this.speedCancel();this.lastAction=null}else{let t=0;let i;let s;if(this.startPosition.y<1/3){t=.05;i=this.lowSpeedForward;s=this.lowSpeedBackward}else if(this.startPosition.y>=1/3&&this.startPosition.y<=2/3){t=.2;i=this.mediumSpeedForward;s=this.mediumSpeedBackward}else{t=1;i=this.highSpeedForward;s=this.highSpeedBackward}if(e>0){const s=(e-this.minSwipeDistance)*t;i&&i(s);this.lastAction={type:"playback",seconds:s}}else{const i=(e+this.minSwipeDistance)*t;s&&s(i);this.lastAction={type:"playback",seconds:i}}}}}}class a{constructor(){this.aid=unsafeWindow.aid;this.cid=unsafeWindow.cid;this.cidData=null;this.supportWebp=a.supportWebp}getVideoshot(t,e){if(!(this.aid&&this.cid)){return}if(!this.cidData){Ajax.getText(`https://api.bilibili.com/x/player/videoshot?aid=${this.aid}&cid=${this.cid}&index=1`).then(i=>{this.cidData=JSON.parse(i).data;this.getVideoshot(t,e)})}else{const i=this.cidData;const s=i.index;let o=0;for(let e=0;e=s[e]&&tt.replace(".jpg",".jpg@.webp"))}const l=parseInt(i.pv_x_len)||10;const a=parseInt(i.pv_y_len)||10;const c=parseInt(i.pv_x_size)||160;const r=parseInt(i.pv_y_size)||90;const h=-(o%100%l)*c;const d=-Math.floor(o%100/a)*r;e({width:c,height:r,backgroundImage:`url(${n[Math.floor(o/100)]})`,backgroundPosition:`${h}px ${d}px`})}}static get supportWebp(){try{const t=document.createElement("canvas");if(t.getContext&&t.getContext("2d")){try{return t.toDataURL("image/webp").indexOf("data:image/webp")===0}catch(t){return false}}else{return false}}catch(t){return false}}}function c(t){t.unbind("click")}function r(e){if($(".touch-video-box").length!==0){return}$(".bilibili-player-video-subtitle").before(`\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
`);const i=$("video");const l=i.prop("duration");const c=new n(e.get(0));const r=document.getElementsByClassName("touch-video-info")[0];const h=document.getElementsByClassName("touch-video-box")[0];let d=100;let u=Math.round(i.prop("volume")*100);const p=t=>{t/=100;if(t<0){t=0}else if(t>1){t=1}i.prop("volume",t);$(".bilibili-player-video-volume-num").text(Math.round(t*100));$(".bui-thumb").css("transform",`translateY(-${48*t}px)`);$(".bui-track-vertical .bui-bar").css("transform",`scaleY(${t})`);if(t===0){$(".bilibili-player-video-btn-volume").addClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");i.prop("muted",true)}else if(t===1){$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").addClass("video-state-volume-max");i.prop("muted",false)}else{$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");i.prop("muted",false)}};if(t.touchVideoPlayerAnimation){h.classList.add("animation")}c.action.onActionStart=(t=>{h.classList.add("adjust-opened");r.classList[t==="vertical"?"remove":"add"]("speed");u=Math.round(i.prop("volume")*100);const e=i.css("filter").match(/brightness\((.+)\)/);d=Math.trunc((e?e[1]:1)*100)});const v=new a;const f=t=>{return e=>{const n=i.prop("currentTime");const a=fixed(100*n/l);let c=n+e;let h=fixed(100*c/l);let d=e;if(c>l){c=l;h=100;d=l-n}else if(c<0){c=0;h=0;d=n}const u=`${o(n)} (${a}%)
👇
${o(c)} (${h}%)`;r.classList.remove("cancel");r.querySelector(".touch-speed").innerHTML=`${t}速`;r.querySelector(".touch-info").innerHTML=`进度: ${e>0?"+":"-"}${s(d)}`;r.querySelector(".touch-result").innerHTML=u;v.getVideoshot(c,t=>$(".videoshot").css(t));$(".touch-progress").css("transform",`scaleX(${h/100})`)}};c.action.lowSpeedBackward=f("低");c.action.lowSpeedForward=f("低");c.action.mediumSpeedBackward=f("中");c.action.mediumSpeedForward=f("中");c.action.highSpeedBackward=f("高");c.action.highSpeedForward=f("高");const m=t=>{let e=u+t;let i=Math.abs(t);if(e>100){e=100;i=100-u}else if(e<0){e=0;i=u}const s=`${u} 👉 ${e}`;p(e);r.classList.remove("cancel");r.querySelector(".touch-info").innerHTML=`音量: ${t>0?"+":"-"}${i}`;r.querySelector(".touch-result").innerHTML=s;$(".touch-progress").css("transform",`scaleX(${e/100})`)};c.action.volumeUp=m;c.action.volumeDown=m;const b=t=>{let e=d+t;let s=Math.abs(t);if(e>100){e=100;s=100-d}else if(e<0){e=0;s=d}const o=`${d} 👉 ${e}`;console.log(t,d,e);i.css("filter",`brightness(${e/100})`);r.classList.remove("cancel");r.querySelector(".touch-info").innerHTML=`亮度: ${t>0?"+":"-"}${s}`;r.querySelector(".touch-result").innerHTML=o;$(".touch-progress").css("transform",`scaleX(${e/100})`)};c.action.brightnessUp=b;c.action.brightnessDown=b;c.action.speedCancel=(()=>{r.querySelector(".touch-info").innerHTML=`取消时间调整`;r.classList.add("cancel")});if(!unsafeWindow.TOUCH_PLAYER_DEBUG){c.action.onActionEnd=(t=>{if(t){if(t.type==="playback"){let e=i.prop("currentTime");e+=t.seconds;if(e<0){e=0}else if(e>l){e=l}i.prop("currentTime",e)}else if(t.type==="volume"){const t=JSON.parse(localStorage.bilibili_player_settings);t.video_status.volume=i.prop("volume");localStorage.bilibili_player_settings=JSON.stringify(t)}}h.classList.remove("adjust-opened")})}}function h(t){if(!t.hasClass("disable-original-hover")){t.addClass("disable-original-hover");const e=unsafeWindow.$(".bilibili-player-video");const i="touch-video-control-show";const s=e.data("events").click[0].handler;const o=new DoubleClickEvent(t=>s(t),()=>t.toggleClass(i));e.unbind("click");o.bind(e[0])}}const d=()=>{SpinQuery.any(()=>$(".bilibili-player-iconfont,.bilibili-player-video-quality-menu"),c);SpinQuery.condition(()=>$(".bilibili-player-video"),t=>t.length>0&&$("video").length>0&&$("video").prop("duration"),r);if(t.touchVideoPlayerDoubleTapControl){new SpinQuery(()=>$(".bilibili-player-area"),t=>t.length>0&&unsafeWindow.$&&unsafeWindow.$(".bilibili-player-video").data("events"),h).start()}};Observer.videoChange(d);e.applyStyle("touchPlayerStyle")}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/tweets.min.css"] = `.nav-search-submit{display:block!important;color:var(--foreground-color-d)!important;transform:translateX(-125px);-webkit-tap-highlight-color:transparent}.nav-search-submit:hover{color:var(--foreground-color)!important}#nav_searchform{transition:.3s ease-out;box-shadow:none;width:0!important;padding:0!important}.preserve-rank>a{opacity:0!important;pointer-events:none}.showSearch .preserve-rank>a{opacity:.382!important;pointer-events:initial}.showSearch #nav_searchform{box-shadow:0 2px 10px 1px #0002;width:250px!important}.showSearch .nav-search-submit,.showSearch .nav-search-submit:hover{color:#888!important;transform:none}@media only screen and (max-width:1291px){.showSearch #nav_searchform{width:140px!important}}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/video-info.min.js"] = (()=>{return(t,i)=>{class e{constructor(t){this.aid=t}async fetchInfo(){const t=JSON.parse(await Ajax.getText(`https://api.bilibili.com/x/web-interface/view?aid=${this.aid}`));if(t.code!==0){throw new Error(t.message)}const i=t.data;this.cid=i.cid;this.pageCount=i.videos;this.coverUrl=i.pic;this.tagId=i.tid;this.tagName=i.tname;this.title=i.title;this.description=i.desc;this.up={uid:i.owner.mid,name:i.owner.name,faceUrl:i.owner.face};this.pages=i.pages.map(t=>{return{cid:t.cid,title:t.part,pageNumber:t.page}});return this}async fetchDanmaku(){this.danmaku=new s(this.cid);return this.danmaku.fetchInfo()}}class a{constructor(t,i){this.text=t;this.p=i}}class s{constructor(t){this.cid=t}async fetchInfo(){const t=await Ajax.getText(`https://api.bilibili.com/x/v1/dm/list.so?oid=${this.cid}`);this.rawXML=t;const i=(new DOMParser).parseFromString(t,"application/xml").documentElement;this.xml=i;this.danmakus=[].map.call(i.querySelectorAll("d[p]"),t=>{return new a(t.innerHTML,t.getAttribute("p"))})}}class n{constructor(t){this.ep=t;this.videos=[]}async fetchInfo(){const t=await Ajax.getText(`https://www.bilibili.com/bangumi/play/ep${this.ep}/`);const i=JSON.parse(t.match(/window\.__INITIAL_STATE__=(.*);\(function\(\){/)[1]);this.title=i.mediaInfo.title;this.cover=i.mediaInfo.cover;this.squareCover=i.mediaInfo.square_cover;this.aid=i.epInfo.aid;this.cid=i.epInfo.cid;this.videos=i.epList.map(async t=>{return{title:t.index_title,aid:t.aid,cid:t.cid,info:await new e(t.aid).fetchInfo()}});return this}}return{export:{VideoInfo:e,BangumiInfo:n,Danmaku:a,DanmakuInfo:s}}}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/view-cover.min.js"] = (()=>{return(e,t)=>{const{VideoInfo:n}=t.import("video-info");const{getFriendlyTitle:i}=t.import("title");class o{constructor(e){this.url=e;if(document.querySelector(".image-viewer")===null){this.createContainer()}this.viewer=document.querySelector(".image-viewer-container");this.downloadImage();addSettingsListener("filenameFormat",()=>{this.viewer.querySelector(".download").setAttribute("download",this.filename)})}createContainer(){document.body.insertAdjacentHTML("beforeend",t.import("imageViewerHtml"));document.querySelector(".image-viewer-container .close").addEventListener("click",()=>this.hide());t.applyStyle("imageViewerStyle")}downloadImage(){document.querySelector("#view-cover").style.display=this.url?"flex":"none";if(this.url===""){return}const e=new XMLHttpRequest;e.open("GET",this.url.replace("http:","https:"),true);e.responseType="blob";e.onload=(()=>{const t=i();const n=URL.createObjectURL(e.response);if(this.imageData){URL.revokeObjectURL(this.imageData)}this.imageData=n;const o=this.viewer.querySelector(".download");o.setAttribute("href",n);o.setAttribute("download",this.filename);this.viewer.querySelector(".copy-link").addEventListener("click",()=>GM_setClipboard(this.url));this.viewer.querySelector(".new-tab").setAttribute("href",this.url);this.viewer.querySelector(".image").src=n});e.send()}show(){this.viewer.classList.add("opened")}hide(){this.viewer.classList.remove("opened")}get filename(){return i()+this.url.substring(this.url.lastIndexOf("."))}}return(()=>{if(!document.URL.includes("live.bilibili.com")){return{widget:{content:`\n \n \n 查看封面\n `,condition:async()=>{const e=await SpinQuery.select(()=>(unsafeWindow||window).aid);return Boolean(e)},success:async()=>{async function e(){const e=(unsafeWindow||window).aid;const t=new n(e);try{await t.fetchInfo()}catch(e){return""}return t.coverUrl}let t=new o(await e());document.querySelector("#view-cover").addEventListener("click",()=>{t.show()});const i=async()=>{t=new o(await e())};Observer.videoChange(i)}}}}else{return{widget:{content:`\n \n \n 查看封面\n `,condition:async()=>{const e=await SpinQuery.select(()=>document.querySelector(".header-info-ctnr .room-cover"));return Boolean(e)},success:async()=>{const e=document.querySelector(".header-info-ctnr .room-cover");const t=e.getAttribute("href").match(/space\.bilibili\.com\/([\d]+)/);if(t&&t[1]){const e=t[1];const n=`https://api.live.bilibili.com/room/v1/Room/getRoomInfoOld?mid=${e}`;const i=await Ajax.getJson(n);const r=i.data.cover;const s=new o(r);document.querySelector("#view-cover").addEventListener("click",()=>{s.show()})}}}}}})()}})(); diff --git a/min/touch-player.min.css b/min/touch-player.min.css index 919989c2b..f11bd3394 100644 --- a/min/touch-player.min.css +++ b/min/touch-player.min.css @@ -1 +1 @@ -.touch-video-box-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;z-index:14;pointer-events:none}.touch-video-box{border-radius:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgba(0,0,0,.85);position:relative;max-width:520px;max-height:240px;border:4px solid transparent;transform-origin:center}.touch-video-box.animation{transition:.2s}.touch-video-info{color:#fff;font-size:2rem;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;width:100%}.touch-row{flex-grow:1;display:flex;align-items:center;justify-content:center;width:100%}.touch-info{display:block;color:var(--theme-color)}.touch-result{display:block;font-size:1.5rem;line-height:150%}.touch-speed{display:block;background:rgba(0,0,0,.1);padding:.5em}.touch-progress{position:absolute;bottom:0;left:0;background:var(--theme-color);width:100%;transform-origin:left;transform:scaleX(0);height:4px;transition:.2s}.touch-row-item{flex:1 0 0;display:flex;align-items:center;justify-content:center}.touch-row-item-wide{flex:1.5 0 0;display:flex;align-items:center;justify-content:center}.videoshot{background-color:transparent;background-image:none;transform-origin:center;transform:scale(.9)}.adjust-closed{transform:rotateX(90deg) rotateY(90deg) scale(.5)}.adjust-opened{transform:rotateX(0) rotateY(0) scale(1)}.disable-original-hover .bilibili-player-video-control-bottom,.disable-original-hover .bilibili-player-video-control-mask{opacity:0!important;visibility:hidden!important}.disable-original-hover .bilibili-player-video-control-wrap,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-bottom,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-mask{opacity:1!important;visibility:visible!important}.bilibili-player-video-control-top,.disable-original-hover .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.bilibili-player-video-control-top,.bilibili-player-video-progress-detail{bottom:0!important}.disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:38px!important}div.bilibili-player-video-control{height:38px!important;align-items:center!important}.bilibili-player-video-btn{flex-grow:1!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-video-inputbar,.bilibili-player-video-progress{flex-grow:30!important}.bilibili-player-video-quality-menu{display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-iconfont-color,.bilibili-player-iconfont-danmaku,.bilibili-player-iconfont-danmaku-off,.bilibili-player-iconfont-fullscreen,.bilibili-player-iconfont-pause,.bilibili-player-iconfont-repeat,.bilibili-player-iconfont-setting,.bilibili-player-iconfont-start,.bilibili-player-iconfont-volume,.bilibili-player-iconfont-volume-max,.bilibili-player-iconfont-volume-min,.bilibili-player-iconfont-web-fullscreen,.bilibili-player-iconfont-widescreen{font-size:2.5rem!important}.bilibili-player-iconfont-next{font-size:2rem!important}.bilibili-player-video-btn-setting-panel,.bilibili-player-video-danmaku-setting-wrap,.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar,.bpui-selectmenu-list{left:unset!important;bottom:38px!important}.bilibili-player-video-volumebar-wrp{left:unset!important}.bilibili-player-video-control-wrap{padding:0!important}.bilibili-player-video-control-bottom{padding:0!important;align-items:center!important}.bilibili-player-iconfont-next,.bilibili-player-iconfont-setting,.bilibili-player-video-btn-volume.video-state-volume-max .bilibili-player-iconfont-volume-max,.bilibili-player-video-btn-volume.video-state-volume-min .bilibili-player-iconfont-volume-min,.bilibili-player-video-btn-volume:not(.video-state-volume-max):not(.video-state-volume-min) .bilibili-player-iconfont-volume,.bilibili-player-video-control-bottom-left{display:flex!important;align-items:center!important}.bilibili-player-video-btn-danmaku{flex-grow:0!important;display:flex!important;align-items:center!important;height:100%!important;margin:0!important;padding:0!important}.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-right{flex-grow:1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar{bottom:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-fullscreen{margin-right:0!important;padding-right:8px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-start{padding-left:8px!important;flex-grow:1.2!important;margin-right:0!important;margin-left:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn{padding:0 3px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom,.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom-right,.bilibili-player-video-control-bottom-left{height:100%!important;margin:0!important}.bilibili-player-video-btn-setting-panel-hover-bridge{display:none!important}.disable-original-hover .bilibili-player-video-control-wrap:hover .bilibili-player-video-control-top .bilibili-player-video-progress-slider,.disable-original-hover.bilibili-player-area.video-control-show .bilibili-player-video-control-top .bilibili-player-video-progress-slider{height:2px!important}.disable-original-hover.bilibili-player-area .bilibili-player-video-control .bilibili-player-video-progress-detail.show{bottom:1px!important}.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bc,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bl,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-br{bottom:20px!important}.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:44px!important}.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:60px!important}.bilibili-player.mode-fullscreen .disable-original-hover .bilibili-player-video-control-top{opacity:1!important}#bofqi *{-webkit-tap-highlight-color:transparent!important}@media screen and (min-width:750px){.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar{background:#fff1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control{height:100%!important;margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom{margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left{height:100%!important}.bilibili-player-video-btn.bilibili-player-video-btn-start{flex-grow:.5!important}.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:0!important;right:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:54px!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:48px!important}} \ No newline at end of file +.touch-video-box-wrapper{display:flex;align-items:center;justify-content:center;width:100%;height:100%;position:absolute;top:0;left:0;z-index:14;pointer-events:none}.touch-video-box{border-radius:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;background:rgba(0,0,0,.85);position:relative;max-width:520px;max-height:240px;border:4px solid transparent;transform-origin:center}.touch-video-box.animation{transition:.2s}.touch-video-info{color:#fff;font-size:2rem;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;width:100%}.touch-row{flex-grow:1;display:flex;align-items:center;justify-content:center;width:100%}.touch-info{display:block;color:var(--theme-color)}.touch-result{display:block;font-size:1.5rem;line-height:150%}.touch-speed{display:block;background:rgba(0,0,0,.1);padding:.5em}.touch-progress{position:absolute;bottom:0;left:0;background:var(--theme-color);width:100%;transform-origin:left;transform:scaleX(0);height:4px}.touch-row-item{flex:1 0 0;display:none;align-items:center;justify-content:center}.touch-row-item-wide{flex:1.5 0 0;display:flex;align-items:center;justify-content:center}.videoshot{background-color:transparent;background-image:none;transform-origin:center;transform:scale(.9)}.adjust-closed{transform:rotateX(90deg) rotateY(90deg) scale(.5)}.adjust-opened{transform:rotateX(0) rotateY(0) scale(1)}.touch-video-info.speed .touch-row-item{display:flex}.touch-video-info.cancel .touch-progress,.touch-video-info.cancel .touch-result{opacity:0}.disable-original-hover .bilibili-player-video-control-bottom,.disable-original-hover .bilibili-player-video-control-mask{opacity:0!important;visibility:hidden!important}.disable-original-hover .bilibili-player-video-control-wrap,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-bottom,.disable-original-hover.touch-video-control-show .bilibili-player-video-control-mask{opacity:1!important;visibility:visible!important}.bilibili-player-video-control-top,.disable-original-hover .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.bilibili-player-video-control-top,.bilibili-player-video-progress-detail{bottom:0!important}.disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:38px!important}div.bilibili-player-video-control{height:38px!important;align-items:center!important}.bilibili-player-video-btn{flex-grow:1!important;height:100%!important;display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-video-inputbar,.bilibili-player-video-progress{flex-grow:30!important}.bilibili-player-video-quality-menu{display:flex!important;align-items:center!important;justify-content:center!important}.bilibili-player-iconfont-color,.bilibili-player-iconfont-danmaku,.bilibili-player-iconfont-danmaku-off,.bilibili-player-iconfont-fullscreen,.bilibili-player-iconfont-pause,.bilibili-player-iconfont-repeat,.bilibili-player-iconfont-setting,.bilibili-player-iconfont-start,.bilibili-player-iconfont-volume,.bilibili-player-iconfont-volume-max,.bilibili-player-iconfont-volume-min,.bilibili-player-iconfont-web-fullscreen,.bilibili-player-iconfont-widescreen{font-size:2.5rem!important}.bilibili-player-iconfont-next{font-size:2rem!important}.bilibili-player-video-btn-setting-panel,.bilibili-player-video-danmaku-setting-wrap,.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar,.bpui-selectmenu-list{left:unset!important;bottom:38px!important}.bilibili-player-video-volumebar-wrp{left:unset!important}.bilibili-player-video-control-wrap{padding:0!important}.bilibili-player-video-control-bottom{padding:0!important;align-items:center!important}.bilibili-player-iconfont-next,.bilibili-player-iconfont-setting,.bilibili-player-video-btn-volume.video-state-volume-max .bilibili-player-iconfont-volume-max,.bilibili-player-video-btn-volume.video-state-volume-min .bilibili-player-iconfont-volume-min,.bilibili-player-video-btn-volume:not(.video-state-volume-max):not(.video-state-volume-min) .bilibili-player-iconfont-volume,.bilibili-player-video-control-bottom-left{display:flex!important;align-items:center!important}.bilibili-player-video-btn-danmaku{flex-grow:0!important;display:flex!important;align-items:center!important;height:100%!important;margin:0!important;padding:0!important}.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-right{flex-grow:1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-sendbar{bottom:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-fullscreen{margin-right:0!important;padding-right:8px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn.bilibili-player-video-btn-start{padding-left:8px!important;flex-grow:1.2!important;margin-right:0!important;margin-left:0!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control .bilibili-player-video-btn{padding:0 3px!important}.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom,.bilibili-player .bilibili-player-area .bilibili-player-video-control-bottom-right,.bilibili-player-video-control-bottom-left{height:100%!important;margin:0!important}.bilibili-player-video-btn-setting-panel-hover-bridge{display:none!important}.disable-original-hover .bilibili-player-video-control-wrap:hover .bilibili-player-video-control-top .bilibili-player-video-progress-slider,.disable-original-hover.bilibili-player-area.video-control-show .bilibili-player-video-control-top .bilibili-player-video-progress-slider{height:2px!important}.disable-original-hover.bilibili-player-area .bilibili-player-video-control .bilibili-player-video-progress-detail.show{bottom:1px!important}.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bc,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-bl,.disable-original-hover.bilibili-player-area .subtitle-position.subtitle-position-br{bottom:20px!important}.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:44px!important}.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bc,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-bl,.bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .subtitle-position.subtitle-position-br{bottom:60px!important}.bilibili-player.mode-fullscreen .disable-original-hover .bilibili-player-video-control-top{opacity:1!important}#bofqi *{-webkit-tap-highlight-color:transparent!important}@media screen and (min-width:750px){.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-center .bilibili-player-video-sendbar .bilibili-player-video-inputbar{background:#fff1!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control{height:100%!important;margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom{margin:0!important}.bilibili-player.mode-fullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left,.bilibili-player.mode-webfullscreen .bilibili-player-video-control-wrap .bilibili-player-video-control-bottom-left{height:100%!important}.bilibili-player-video-btn.bilibili-player-video-btn-start{flex-grow:.5!important}.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:0!important;right:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.bilibili-player-video-control-wrap .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:0!important}.player .bilibili-player.mode-fullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top,.player .bilibili-player.mode-webfullscreen .disable-original-hover.touch-video-control-show .bilibili-player-video-control-top{left:0!important;right:0!important;bottom:54px!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:48px!important}} \ No newline at end of file diff --git a/min/touch-player.min.js b/min/touch-player.min.js index aa775f65f..3703a4d83 100644 --- a/min/touch-player.min.js +++ b/min/touch-player.min.js @@ -1 +1 @@ -(()=>{return(t,i)=>{const e=t=>{let i=0;let e=0;while(t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop)){i+=t.offsetLeft-t.scrollLeft;e+=t.offsetTop-t.scrollTop;t=t.offsetParent}return{x:i,y:e}};const s=t=>{t=Math.abs(t);const i=Math.floor(t/3600);const e=Math.floor((t-i*3600)/60);const s=t-i*3600-e*60;let o=fixed(s)+"秒";if(e>0){o=e+"分"+o}if(i>0){o=i+"时"+o}return o};const o=t=>{t=Math.abs(t);const i=Math.floor(t/3600);const e=Math.floor((t-i*3600)/60);const s=t-i*3600-e*60;let o=(s<10?"0":"")+fixed(s);o=(e<10?"0":"")+e+":"+o;o=(i<10?"0":"")+i+":"+o;return o};class n{constructor(t){this.action=new a(t);this.onTouchStart=null;this.onTouchEnd=null;this.direction=null;t.addEventListener("touchstart",t=>{this.xDown=t.touches[0].clientX;this.yDown=t.touches[0].clientY;if(this.onTouchStart){this.onTouchStart(t)}});t.addEventListener("touchmove",i=>{if(!this.xDown||!this.yDown){return}const s=i.touches[0].clientX;const o=i.touches[0].clientY;const n=e(t);const a={x:(i.touches[0].pageX-n.x)/t.clientWidth,y:(i.touches[0].pageY-n.y)/t.clientHeight,width:t.clientWidth,height:t.clientHeight};const l=this.xDown-s;const c=this.yDown-o;if(!this.direction){let t="";if(Math.abs(l)>Math.abs(c)){t="horizontal"}else{t="vertical"}this.direction=t;i.preventDefault()}else{if(this.direction==="vertical"){this.action.startAction(this.direction,c,a)}else if(this.direction==="horizontal"){this.action.startAction(this.direction,-l,a)}i.preventDefault()}});t.addEventListener("touchend",t=>{this.xDown=null;this.yDown=null;this.direction=null;if(this.onTouchEnd){this.onTouchEnd(t)}})}}class a{constructor(t){this.lowSpeedForward=null;this.lowSpeedBackward=null;this.mediumSpeedForward=null;this.mediumSpeedBackward=null;this.highSpeedForward=null;this.highSpeedBackward=null;this.volumeUp=null;this.volumeDown=null;this.brightnessUp=null;this.brightnessDown=null;this.speedCancel=null;this.minSwipeDistance=20;this.onActionStart=null;this.onActionEnd=null;this.element=t;this.touchStart=false;this.startPosition=null;this.lastAction=null;t.addEventListener("touchstart",()=>{this.touchStart=true});t.addEventListener("touchend",()=>{this.startPosition=null;this.onActionEnd&&this.onActionEnd(this.lastAction);this.lastAction=null})}startAction(t,i,e){if(this.touchStart){this.onActionStart&&this.onActionStart(t);this.startPosition=e;this.touchStart=false}if(t==="vertical"){let t;let s;if(this.startPosition.x<1/2){t=this.brightnessUp;s=this.brightnessDown;const o=Math.round(200*(i-this.minSwipeDistance)/(1.5*e.height));if(i>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"brightness",brightness:o}}else{t=this.volumeUp;s=this.volumeDown;const o=Math.round(200*(i-this.minSwipeDistance)/(1.5*e.height));if(i>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"volume",volume:o}}}else if(t==="horizontal"){if(e.y<1/3&&(e.x<.1||e.x>.9)){this.speedCancel&&this.speedCancel();this.lastAction=null}else{let t=0;let e;let s;if(this.startPosition.y<1/3){t=.05;e=this.lowSpeedForward;s=this.lowSpeedBackward}else if(this.startPosition.y>=1/3&&this.startPosition.y<=2/3){t=.2;e=this.mediumSpeedForward;s=this.mediumSpeedBackward}else{t=1;e=this.highSpeedForward;s=this.highSpeedBackward}if(i>0){const s=(i-this.minSwipeDistance)*t;e&&e(s);this.lastAction={type:"playback",seconds:s}}else{const e=(i+this.minSwipeDistance)*t;s&&s(e);this.lastAction={type:"playback",seconds:e}}}}}}class l{constructor(){this.aid=unsafeWindow.aid;this.cid=unsafeWindow.cid;this.cidData=null;this.supportWebp=l.supportWebp}getVideoshot(t,i){if(!(this.aid&&this.cid)){return}if(!this.cidData){Ajax.getText(`https://api.bilibili.com/x/player/videoshot?aid=${this.aid}&cid=${this.cid}&index=1`).then(e=>{this.cidData=JSON.parse(e).data;this.getVideoshot(t,i)})}else{const e=this.cidData;const s=e.index;let o=0;for(let i=0;i=s[i]&&tt.replace(".jpg",".jpg@.webp"))}const a=parseInt(e.pv_x_len)||10;const l=parseInt(e.pv_y_len)||10;const c=parseInt(e.pv_x_size)||160;const r=parseInt(e.pv_y_size)||90;const d=-(o%100%a)*c;const h=-Math.floor(o%100/l)*r;i({width:c,height:r,backgroundImage:`url(${n[Math.floor(o/100)]})`,backgroundPosition:`${d}px ${h}px`})}}static get supportWebp(){try{const t=document.createElement("canvas");if(t.getContext&&t.getContext("2d")){try{return t.toDataURL("image/webp").indexOf("data:image/webp")===0}catch(t){return false}}else{return false}}catch(t){return false}}}function c(t){t.unbind("click")}function r(i){if($(".touch-video-box").length!==0){return}$(".bilibili-player-video-subtitle").before(`\n
\n
\n
\n
\n
\n
`);const e=$("video");const a=e.prop("duration");const c=new n(i.get(0));const r=document.getElementsByClassName("touch-video-info")[0];const d=document.getElementsByClassName("touch-video-box")[0];let h=100;let u=Math.round(e.prop("volume")*100);const p=t=>{t/=100;if(t<0){t=0}else if(t>1){t=1}e.prop("volume",t);$(".bilibili-player-video-volume-num").text(Math.round(t*100));$(".bui-thumb").css("transform",`translateY(-${48*t}px)`);$(".bui-track-vertical .bui-bar").css("transform",`scaleY(${t})`);if(t===0){$(".bilibili-player-video-btn-volume").addClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");e.prop("muted",true)}else if(t===1){$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").addClass("video-state-volume-max");e.prop("muted",false)}else{$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");e.prop("muted",false)}};if(t.touchVideoPlayerAnimation){d.classList.add("animation")}c.action.onActionStart=(()=>{d.classList.add("adjust-opened");r.innerHTML="";u=Math.round(e.prop("volume")*100);const t=e.css("filter").match(/brightness\((.+)\)/);h=Math.trunc((t?t[1]:1)*100)});const v=new l;const f=t=>{return i=>{const n=e.prop("currentTime");const l=fixed(100*n/a);let c=n+i;let d=fixed(100*c/a);let h=i;if(c>a){c=a;d=100;h=a-n}else if(c<0){c=0;d=0;h=n}const u=`${o(n)} (${l}%)
👇
${o(c)} (${d}%)`;const p=`\n
\n
\n ${t}速\n
\n
\n 进度: ${i>0?"+":"-"}${s(h)}\n
\n
\n
\n
\n
\n
\n
\n ${u}\n
\n
\n `;r.innerHTML=p;v.getVideoshot(c,t=>$(".videoshot").css(t));$(".touch-progress").css("transform",`scaleX(${d/100})`)}};c.action.lowSpeedBackward=f("低");c.action.lowSpeedForward=f("低");c.action.mediumSpeedBackward=f("中");c.action.mediumSpeedForward=f("中");c.action.highSpeedBackward=f("高");c.action.highSpeedForward=f("高");const m=t=>{let i=u+t;let e=Math.abs(t);if(i>100){i=100;e=100-u}else if(i<0){i=0;e=u}const s=`${u} 👉 ${i}`;p(i);const o=`\n
\n
\n 音量: ${t>0?"+":"-"}${e}\n
\n
\n
\n
\n ${s}\n
\n
\n `;r.innerHTML=o;$(".touch-progress").css("transform",`scaleX(${i/100})`)};c.action.volumeUp=m;c.action.volumeDown=m;const b=t=>{let i=h+t;let s=Math.abs(t);if(i>100){i=100;s=100-h}else if(i<0){i=0;s=h}const o=`${h} 👉 ${i}`;console.log(t,h,i);e.css("filter",`brightness(${i/100})`);const n=`\n
\n
\n 亮度: ${t>0?"+":"-"}${s}\n
\n
\n
\n
\n ${o}\n
\n
\n `;r.innerHTML=n;$(".touch-progress").css("transform",`scaleX(${i/100})`)};c.action.brightnessUp=b;c.action.brightnessDown=b;c.action.speedCancel=(()=>{r.innerHTML=`取消时间调整`;$(".touch-progress").css("transform","scaleX(0)")});if(!unsafeWindow.TOUCH_PLAYER_DEBUG){c.action.onActionEnd=(t=>{r.innerHTML="";if(t){if(t.type==="playback"){let i=e.prop("currentTime");i+=t.seconds;if(i<0){i=0}else if(i>a){i=a}e.prop("currentTime",i)}else if(t.type==="volume"){const t=JSON.parse(localStorage.bilibili_player_settings);t.video_status.volume=e.prop("volume");localStorage.bilibili_player_settings=JSON.stringify(t)}}d.classList.remove("adjust-opened")})}}function d(t){if(!t.hasClass("disable-original-hover")){t.addClass("disable-original-hover");const i=unsafeWindow.$(".bilibili-player-video");const e="touch-video-control-show";const s=i.data("events").click[0].handler;const o=new DoubleClickEvent(t=>s(t),()=>t.toggleClass(e));i.unbind("click");o.bind(i[0])}}const h=()=>{SpinQuery.any(()=>$(".bilibili-player-iconfont,.bilibili-player-video-quality-menu"),c);SpinQuery.condition(()=>$(".bilibili-player-video"),t=>t.length>0&&$("video").length>0&&$("video").prop("duration"),r);if(t.touchVideoPlayerDoubleTapControl){new SpinQuery(()=>$(".bilibili-player-area"),t=>t.length>0&&unsafeWindow.$&&unsafeWindow.$(".bilibili-player-video").data("events"),d).start()}};Observer.videoChange(h);i.applyStyle("touchPlayerStyle")}})(); \ No newline at end of file +(()=>{return(t,e)=>{const i=t=>{let e=0;let i=0;while(t&&!isNaN(t.offsetLeft)&&!isNaN(t.offsetTop)){e+=t.offsetLeft-t.scrollLeft;i+=t.offsetTop-t.scrollTop;t=t.offsetParent}return{x:e,y:i}};const s=t=>{t=Math.abs(t);const e=Math.floor(t/3600);const i=Math.floor((t-e*3600)/60);const s=t-e*3600-i*60;let o=fixed(s)+"秒";if(i>0){o=i+"分"+o}if(e>0){o=e+"时"+o}return o};const o=t=>{t=Math.abs(t);const e=Math.floor(t/3600);const i=Math.floor((t-e*3600)/60);const s=t-e*3600-i*60;let o=(s<10?"0":"")+fixed(s);o=(i<10?"0":"")+i+":"+o;o=(e<10?"0":"")+e+":"+o;return o};class n{constructor(t){this.action=new l(t);this.onTouchStart=null;this.onTouchEnd=null;this.direction=null;t.addEventListener("touchstart",t=>{this.xDown=t.touches[0].clientX;this.yDown=t.touches[0].clientY;if(this.onTouchStart){this.onTouchStart(t)}});t.addEventListener("touchmove",e=>{if(!this.xDown||!this.yDown){return}const s=e.touches[0].clientX;const o=e.touches[0].clientY;const n=i(t);const l={x:(e.touches[0].pageX-n.x)/t.clientWidth,y:(e.touches[0].pageY-n.y)/t.clientHeight,width:t.clientWidth,height:t.clientHeight};const a=this.xDown-s;const c=this.yDown-o;if(!this.direction){let t="";if(Math.abs(a)>Math.abs(c)){t="horizontal"}else{t="vertical"}this.direction=t;e.preventDefault()}else{if(this.direction==="vertical"){this.action.startAction(this.direction,c,l)}else if(this.direction==="horizontal"){this.action.startAction(this.direction,-a,l)}e.preventDefault()}});t.addEventListener("touchend",t=>{this.xDown=null;this.yDown=null;this.direction=null;if(this.onTouchEnd){this.onTouchEnd(t)}})}}class l{constructor(t){this.lowSpeedForward=null;this.lowSpeedBackward=null;this.mediumSpeedForward=null;this.mediumSpeedBackward=null;this.highSpeedForward=null;this.highSpeedBackward=null;this.volumeUp=null;this.volumeDown=null;this.brightnessUp=null;this.brightnessDown=null;this.speedCancel=null;this.minSwipeDistance=20;this.onActionStart=null;this.onActionEnd=null;this.element=t;this.touchStart=false;this.startPosition=null;this.lastAction=null;t.addEventListener("touchstart",()=>{this.touchStart=true});t.addEventListener("touchend",()=>{this.startPosition=null;this.onActionEnd&&this.onActionEnd(this.lastAction);this.lastAction=null})}startAction(t,e,i){if(this.touchStart){this.onActionStart&&this.onActionStart(t);this.startPosition=i;this.touchStart=false}if(t==="vertical"){let t;let s;if(this.startPosition.x<1/2){t=this.brightnessUp;s=this.brightnessDown;const o=Math.round(200*(e-this.minSwipeDistance)/(1.5*i.height));if(e>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"brightness",brightness:o}}else{t=this.volumeUp;s=this.volumeDown;const o=Math.round(200*(e-this.minSwipeDistance)/(1.5*i.height));if(e>0){t&&t(o)}else{s&&s(o)}this.lastAction={type:"volume",volume:o}}}else if(t==="horizontal"){if(i.y<1/3&&(i.x<.1||i.x>.9)){this.speedCancel&&this.speedCancel();this.lastAction=null}else{let t=0;let i;let s;if(this.startPosition.y<1/3){t=.05;i=this.lowSpeedForward;s=this.lowSpeedBackward}else if(this.startPosition.y>=1/3&&this.startPosition.y<=2/3){t=.2;i=this.mediumSpeedForward;s=this.mediumSpeedBackward}else{t=1;i=this.highSpeedForward;s=this.highSpeedBackward}if(e>0){const s=(e-this.minSwipeDistance)*t;i&&i(s);this.lastAction={type:"playback",seconds:s}}else{const i=(e+this.minSwipeDistance)*t;s&&s(i);this.lastAction={type:"playback",seconds:i}}}}}}class a{constructor(){this.aid=unsafeWindow.aid;this.cid=unsafeWindow.cid;this.cidData=null;this.supportWebp=a.supportWebp}getVideoshot(t,e){if(!(this.aid&&this.cid)){return}if(!this.cidData){Ajax.getText(`https://api.bilibili.com/x/player/videoshot?aid=${this.aid}&cid=${this.cid}&index=1`).then(i=>{this.cidData=JSON.parse(i).data;this.getVideoshot(t,e)})}else{const i=this.cidData;const s=i.index;let o=0;for(let e=0;e=s[e]&&tt.replace(".jpg",".jpg@.webp"))}const l=parseInt(i.pv_x_len)||10;const a=parseInt(i.pv_y_len)||10;const c=parseInt(i.pv_x_size)||160;const r=parseInt(i.pv_y_size)||90;const h=-(o%100%l)*c;const d=-Math.floor(o%100/a)*r;e({width:c,height:r,backgroundImage:`url(${n[Math.floor(o/100)]})`,backgroundPosition:`${h}px ${d}px`})}}static get supportWebp(){try{const t=document.createElement("canvas");if(t.getContext&&t.getContext("2d")){try{return t.toDataURL("image/webp").indexOf("data:image/webp")===0}catch(t){return false}}else{return false}}catch(t){return false}}}function c(t){t.unbind("click")}function r(e){if($(".touch-video-box").length!==0){return}$(".bilibili-player-video-subtitle").before(`\n
\n
\n
\n
\n
\n \n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n
\n
`);const i=$("video");const l=i.prop("duration");const c=new n(e.get(0));const r=document.getElementsByClassName("touch-video-info")[0];const h=document.getElementsByClassName("touch-video-box")[0];let d=100;let u=Math.round(i.prop("volume")*100);const p=t=>{t/=100;if(t<0){t=0}else if(t>1){t=1}i.prop("volume",t);$(".bilibili-player-video-volume-num").text(Math.round(t*100));$(".bui-thumb").css("transform",`translateY(-${48*t}px)`);$(".bui-track-vertical .bui-bar").css("transform",`scaleY(${t})`);if(t===0){$(".bilibili-player-video-btn-volume").addClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");i.prop("muted",true)}else if(t===1){$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").addClass("video-state-volume-max");i.prop("muted",false)}else{$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-min");$(".bilibili-player-video-btn-volume").removeClass("video-state-volume-max");i.prop("muted",false)}};if(t.touchVideoPlayerAnimation){h.classList.add("animation")}c.action.onActionStart=(t=>{h.classList.add("adjust-opened");r.classList[t==="vertical"?"remove":"add"]("speed");u=Math.round(i.prop("volume")*100);const e=i.css("filter").match(/brightness\((.+)\)/);d=Math.trunc((e?e[1]:1)*100)});const v=new a;const f=t=>{return e=>{const n=i.prop("currentTime");const a=fixed(100*n/l);let c=n+e;let h=fixed(100*c/l);let d=e;if(c>l){c=l;h=100;d=l-n}else if(c<0){c=0;h=0;d=n}const u=`${o(n)} (${a}%)
👇
${o(c)} (${h}%)`;r.classList.remove("cancel");r.querySelector(".touch-speed").innerHTML=`${t}速`;r.querySelector(".touch-info").innerHTML=`进度: ${e>0?"+":"-"}${s(d)}`;r.querySelector(".touch-result").innerHTML=u;v.getVideoshot(c,t=>$(".videoshot").css(t));$(".touch-progress").css("transform",`scaleX(${h/100})`)}};c.action.lowSpeedBackward=f("低");c.action.lowSpeedForward=f("低");c.action.mediumSpeedBackward=f("中");c.action.mediumSpeedForward=f("中");c.action.highSpeedBackward=f("高");c.action.highSpeedForward=f("高");const m=t=>{let e=u+t;let i=Math.abs(t);if(e>100){e=100;i=100-u}else if(e<0){e=0;i=u}const s=`${u} 👉 ${e}`;p(e);r.classList.remove("cancel");r.querySelector(".touch-info").innerHTML=`音量: ${t>0?"+":"-"}${i}`;r.querySelector(".touch-result").innerHTML=s;$(".touch-progress").css("transform",`scaleX(${e/100})`)};c.action.volumeUp=m;c.action.volumeDown=m;const b=t=>{let e=d+t;let s=Math.abs(t);if(e>100){e=100;s=100-d}else if(e<0){e=0;s=d}const o=`${d} 👉 ${e}`;console.log(t,d,e);i.css("filter",`brightness(${e/100})`);r.classList.remove("cancel");r.querySelector(".touch-info").innerHTML=`亮度: ${t>0?"+":"-"}${s}`;r.querySelector(".touch-result").innerHTML=o;$(".touch-progress").css("transform",`scaleX(${e/100})`)};c.action.brightnessUp=b;c.action.brightnessDown=b;c.action.speedCancel=(()=>{r.querySelector(".touch-info").innerHTML=`取消时间调整`;r.classList.add("cancel")});if(!unsafeWindow.TOUCH_PLAYER_DEBUG){c.action.onActionEnd=(t=>{if(t){if(t.type==="playback"){let e=i.prop("currentTime");e+=t.seconds;if(e<0){e=0}else if(e>l){e=l}i.prop("currentTime",e)}else if(t.type==="volume"){const t=JSON.parse(localStorage.bilibili_player_settings);t.video_status.volume=i.prop("volume");localStorage.bilibili_player_settings=JSON.stringify(t)}}h.classList.remove("adjust-opened")})}}function h(t){if(!t.hasClass("disable-original-hover")){t.addClass("disable-original-hover");const e=unsafeWindow.$(".bilibili-player-video");const i="touch-video-control-show";const s=e.data("events").click[0].handler;const o=new DoubleClickEvent(t=>s(t),()=>t.toggleClass(i));e.unbind("click");o.bind(e[0])}}const d=()=>{SpinQuery.any(()=>$(".bilibili-player-iconfont,.bilibili-player-video-quality-menu"),c);SpinQuery.condition(()=>$(".bilibili-player-video"),t=>t.length>0&&$("video").length>0&&$("video").prop("duration"),r);if(t.touchVideoPlayerDoubleTapControl){new SpinQuery(()=>$(".bilibili-player-area"),t=>t.length>0&&unsafeWindow.$&&unsafeWindow.$(".bilibili-player-video").data("events"),h).start()}};Observer.videoChange(d);e.applyStyle("touchPlayerStyle")}})(); \ No newline at end of file diff --git a/touch/player/touch-player.css b/touch/player/touch-player.css index bb7af2dd2..846fcb321 100644 --- a/touch/player/touch-player.css +++ b/touch/player/touch-player.css @@ -86,12 +86,11 @@ transform-origin: left; transform: scaleX(0); height: 4px; - transition: all 0.2s; } .touch-row-item { flex: 1 0 0; - display: flex; + display: none; align-items: center; justify-content: center; } @@ -117,6 +116,16 @@ { transform: rotateX(0deg) rotateY(0deg) scale(1); } +.touch-video-info.speed .touch-row-item +{ + display: flex; +} +.touch-video-info.cancel .touch-progress, +.touch-video-info.cancel .touch-result +{ + opacity: 0; +} + .disable-original-hover .bilibili-player-video-control-bottom, .disable-original-hover .bilibili-player-video-control-mask diff --git a/touch/player/touch-player.js b/touch/player/touch-player.js index 07d987799..abbb9bd5f 100644 --- a/touch/player/touch-player.js +++ b/touch/player/touch-player.js @@ -290,7 +290,24 @@ function setupTouchPlayer (player) { $('.bilibili-player-video-subtitle').before(/* html */`
-
+
+
+
+ +
+
+ +
+
+
+
+
+
+
+ +
+
+
`) @@ -332,9 +349,9 @@ function setupTouchPlayer (player) { box.classList.add('animation') } - swiper.action.onActionStart = () => { + swiper.action.onActionStart = direction => { box.classList.add('adjust-opened') - text.innerHTML = '' + text.classList[direction === 'vertical' ? 'remove' : 'add']('speed') originalVolume = Math.round(video.prop('volume') * 100) const filter = video.css('filter').match(/brightness\((.+)\)/) originalBrightness = Math.trunc((filter ? filter[1] : 1) * 100) @@ -357,25 +374,10 @@ function setupTouchPlayer (player) { change = current } const result = `${secondsToHms(current)} (${currentPercent}%)
👇
${secondsToHms(finalTime)} (${finalPercent}%)` - const html = /* html */` -
-
- ${speed}速 -
-
- 进度: ${sec > 0 ? '+' : '-'}${secondsToTime(change)} -
-
-
-
-
-
-
- ${result} -
-
- ` - text.innerHTML = html + text.classList.remove('cancel') + text.querySelector('.touch-speed').innerHTML = `${speed}速` + text.querySelector('.touch-info').innerHTML = `进度: ${sec > 0 ? '+' : '-'}${secondsToTime(change)}` + text.querySelector('.touch-result').innerHTML = result videoshot.getVideoshot(finalTime, style => $('.videoshot').css(style)) $('.touch-progress').css('transform', `scaleX(${finalPercent / 100})`) } @@ -399,19 +401,9 @@ function setupTouchPlayer (player) { } const result = `${originalVolume} 👉 ${finalVolume}` setVolume(finalVolume) - const html = /* html */` -
-
- 音量: ${volume > 0 ? '+' : '-'}${change} -
-
-
-
- ${result} -
-
- ` - text.innerHTML = html + text.classList.remove('cancel') + text.querySelector('.touch-info').innerHTML = `音量: ${volume > 0 ? '+' : '-'}${change}` + text.querySelector('.touch-result').innerHTML = result $('.touch-progress').css('transform', `scaleX(${finalVolume / 100})`) } swiper.action.volumeUp = volumeChange @@ -430,31 +422,20 @@ function setupTouchPlayer (player) { const result = `${originalBrightness} 👉 ${finalBrightness}` console.log(brightness, originalBrightness, finalBrightness) video.css('filter', `brightness(${finalBrightness / 100})`) - const html = /* html */` -
-
- 亮度: ${brightness > 0 ? '+' : '-'}${change} -
-
-
-
- ${result} -
-
- ` - text.innerHTML = html + text.classList.remove('cancel') + text.querySelector('.touch-info').innerHTML = `亮度: ${brightness > 0 ? '+' : '-'}${change}` + text.querySelector('.touch-result').innerHTML = result $('.touch-progress').css('transform', `scaleX(${finalBrightness / 100})`) } swiper.action.brightnessUp = brightnessChange swiper.action.brightnessDown = brightnessChange swiper.action.speedCancel = () => { - text.innerHTML = `取消时间调整` - $('.touch-progress').css('transform', 'scaleX(0)') + text.querySelector('.touch-info').innerHTML = `取消时间调整` + text.classList.add('cancel') } if (!unsafeWindow.TOUCH_PLAYER_DEBUG) { swiper.action.onActionEnd = action => { - text.innerHTML = '' if (action) { if (action.type === 'playback') { let time = video.prop('currentTime')