From bbe3cda75d67fd23e26c142d01ba1dfc8218ce07 Mon Sep 17 00:00:00 2001 From: the1812 Date: Thu, 20 Dec 2018 16:35:39 +0800 Subject: [PATCH] Add enable danmaku option --- bilibili-evolved.offline.user.js | 4 ++-- bilibili-evolved.preview-offline.user.js | 4 ++-- min/default-danmaku-settings.min.js | 2 +- video/default-danmaku-settings.js | 20 +++++++++++++++++++- 4 files changed, 24 insertions(+), 6 deletions(-) diff --git a/bilibili-evolved.offline.user.js b/bilibili-evolved.offline.user.js index c41d4384a..a2273a419 100644 --- a/bilibili-evolved.offline.user.js +++ b/bilibili-evolved.offline.user.js @@ -1,6 +1,6 @@ // ==UserScript== // @name Bilibili Evolved (Offline) -// @version 157.01 +// @version 157.03 // @description 增强哔哩哔哩Web端体验(离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等. // @author Grant Howard, Coulomb-G // @copyright 2018, Grant Howrad (https://github.com/the1812) @@ -1043,7 +1043,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/auto-continue.min.js"] = (()=>{return(t,e)=>{function i(t){const e=/((\d)*:)?(\d)*:(\d)*/g;const i=t.text();const n=i.match(e);if(!n){return}const r=n[0].split(":");const o=(()=>{if(r.length===3){const[t,e,i]=r.map(t=>parseInt(t));return t*60*60+e*60+i}else if(r.length===2){const[t,e]=r.map(t=>parseInt(t));return t*60+e}else{logError(`解析历史时间发生错误: historyTime=${JSON.stringify(r)}`);return NaN}})();const s=t.parent();const c=document.querySelector("video");c.currentTime=o;c.play();s.find(".bilibili-player-video-toast-item-jump").remove();const l=$(`
从头开始
`);l.appendTo(s).on("click",()=>c.currentTime=0);t.html(`已跳转到上次历史记录${n[0]}`)}function n(){SpinQuery.condition(()=>$(".bilibili-player-video-toast-item-text"),t=>t.text().indexOf("上次看到")!==-1,t=>i(t.filter((t,e)=>e.innerText.indexOf("上次看到")!==-1)))}Observer.subtree("#bofqi",n)}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.css"] = `.video-desc .info{height:auto!important;}.video-desc .btn{display:none!important;}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.js"] = (()=>{return(e,p)=>{p.applyStyle("expandDescriptionStyle")}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-danmaku-settings.min.js"] = (()=>{return(r,e)=>{}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-danmaku-settings.min.js"] = (()=>{return(n,e)=>{async function a(n,e){const a=await SpinQuery.condition(()=>document.querySelector(n),n=>n!==null);if(!a){return}a.checked=e;raiseEvent(a,"change")}const i={enableDanmaku:".bilibili-player-video-danmaku-switch>input"};if(!n.enableDanmaku){a(i.enableDanmaku,false)}}})(); class ResourceType { diff --git a/bilibili-evolved.preview-offline.user.js b/bilibili-evolved.preview-offline.user.js index 49d3c254e..ac6c5af60 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 157.01 +// @version 157.03 // @description 增强哔哩哔哩Web端体验(预览离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等. // @author Grant Howard, Coulomb-G // @copyright 2018, Grant Howrad (https://github.com/the1812) @@ -1043,7 +1043,7 @@ offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/m offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/auto-continue.min.js"] = (()=>{return(t,e)=>{function i(t){const e=/((\d)*:)?(\d)*:(\d)*/g;const i=t.text();const n=i.match(e);if(!n){return}const r=n[0].split(":");const o=(()=>{if(r.length===3){const[t,e,i]=r.map(t=>parseInt(t));return t*60*60+e*60+i}else if(r.length===2){const[t,e]=r.map(t=>parseInt(t));return t*60+e}else{logError(`解析历史时间发生错误: historyTime=${JSON.stringify(r)}`);return NaN}})();const s=t.parent();const c=document.querySelector("video");c.currentTime=o;c.play();s.find(".bilibili-player-video-toast-item-jump").remove();const l=$(`
从头开始
`);l.appendTo(s).on("click",()=>c.currentTime=0);t.html(`已跳转到上次历史记录${n[0]}`)}function n(){SpinQuery.condition(()=>$(".bilibili-player-video-toast-item-text"),t=>t.text().indexOf("上次看到")!==-1,t=>i(t.filter((t,e)=>e.innerText.indexOf("上次看到")!==-1)))}Observer.subtree("#bofqi",n)}})(); offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.css"] = `.video-desc .info{height:auto!important;}.video-desc .btn{display:none!important;}`; offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/expand-description.min.js"] = (()=>{return(e,p)=>{p.applyStyle("expandDescriptionStyle")}})(); -offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-danmaku-settings.min.js"] = (()=>{return(r,e)=>{}})(); +offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-danmaku-settings.min.js"] = (()=>{return(n,e)=>{async function a(n,e){const a=await SpinQuery.condition(()=>document.querySelector(n),n=>n!==null);if(!a){return}a.checked=e;raiseEvent(a,"change")}const i={enableDanmaku:".bilibili-player-video-danmaku-switch>input"};if(!n.enableDanmaku){a(i.enableDanmaku,false)}}})(); class ResourceType { diff --git a/min/default-danmaku-settings.min.js b/min/default-danmaku-settings.min.js index 28b6faab9..767b8b7a7 100644 --- a/min/default-danmaku-settings.min.js +++ b/min/default-danmaku-settings.min.js @@ -1 +1 @@ -(()=>{return(r,e)=>{}})(); \ No newline at end of file +(()=>{return(n,e)=>{async function a(n,e){const a=await SpinQuery.condition(()=>document.querySelector(n),n=>n!==null);if(!a){return}a.checked=e;raiseEvent(a,"change")}const i={enableDanmaku:".bilibili-player-video-danmaku-switch>input"};if(!n.enableDanmaku){a(i.enableDanmaku,false)}}})(); \ No newline at end of file diff --git a/video/default-danmaku-settings.js b/video/default-danmaku-settings.js index 45d55662c..06b50390f 100644 --- a/video/default-danmaku-settings.js +++ b/video/default-danmaku-settings.js @@ -2,6 +2,24 @@ { return (settings, resources) => { - + async function setCheckState(selector, value) + { + const checkbox = await SpinQuery.condition( + () => document.querySelector(selector), + it => it !== null); + if (!checkbox) + { + return; + } + checkbox.checked = value; + raiseEvent(checkbox, "change"); + } + const selectors = { + enableDanmaku: ".bilibili-player-video-danmaku-switch>input", + }; + if (!settings.enableDanmaku) + { + setCheckState(selectors.enableDanmaku, false); + } }; })(); \ No newline at end of file