mirror of
https://github.com/the1812/Bilibili-Evolved.git
synced 2025-11-04 21:22:45 +08:00
Add remember danmaku block settings
This commit is contained in:
parent
bbe3cda75d
commit
83affb0099
@ -21,6 +21,7 @@
|
|||||||
"no-extra-semi": 1,
|
"no-extra-semi": 1,
|
||||||
"no-extra-parens": 1,
|
"no-extra-parens": 1,
|
||||||
"no-irregular-whitespace": 0,
|
"no-irregular-whitespace": 0,
|
||||||
|
"no-inner-declarations": 0,
|
||||||
"no-undef": 0,
|
"no-undef": 0,
|
||||||
"no-unused-vars": 0,
|
"no-unused-vars": 0,
|
||||||
"no-underscore-dangle": 1,
|
"no-underscore-dangle": 1,
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name Bilibili Evolved (Offline)
|
// @name Bilibili Evolved (Offline)
|
||||||
// @version 157.03
|
// @version 157.06
|
||||||
// @description 增强哔哩哔哩Web端体验(离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
|
// @description 增强哔哩哔哩Web端体验(离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
|
||||||
// @author Grant Howard, Coulomb-G
|
// @author Grant Howard, Coulomb-G
|
||||||
// @copyright 2018, Grant Howrad (https://github.com/the1812)
|
// @copyright 2018, Grant Howrad (https://github.com/the1812)
|
||||||
@ -66,7 +66,7 @@
|
|||||||
top: false,
|
top: false,
|
||||||
bottom: false,
|
bottom: false,
|
||||||
color: false,
|
color: false,
|
||||||
magic: false,
|
special: false,
|
||||||
},
|
},
|
||||||
autoLightOff: false,
|
autoLightOff: false,
|
||||||
useCache: true,
|
useCache: true,
|
||||||
@ -799,6 +799,10 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static select(query, action, failed)
|
||||||
|
{
|
||||||
|
return SpinQuery.condition(query, it => it !== null, action, failed);
|
||||||
|
}
|
||||||
static any(query, action, failed)
|
static any(query, action, failed)
|
||||||
{
|
{
|
||||||
return SpinQuery.condition(query, it => it.length > 0, action, failed);
|
return SpinQuery.condition(query, it => it.length > 0, action, failed);
|
||||||
@ -1043,7 +1047,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=$(`<div class="bilibili-player-video-toast-item-jump">从头开始</div>`);l.appendTo(s).on("click",()=>c.currentTime=0);t.html(`<span>已跳转到上次历史记录</span><span>${n[0]}</span>`)}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/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=$(`<div class="bilibili-player-video-toast-item-jump">从头开始</div>`);l.appendTo(s).on("click",()=>c.currentTime=0);t.html(`<span>已跳转到上次历史记录</span><span>${n[0]}</span>`)}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.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/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(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)}}})();
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-danmaku-settings.min.js"] = (()=>{return(e,n)=>{async function t(e,n){const t=await SpinQuery.select(()=>document.querySelector(e));if(!t){return}t.checked=n;raiseEvent(t,"change")}const i={enableDanmaku:".bilibili-player-video-danmaku-switch>input",settingsIcon:".bilibili-player-video-danmaku-setting"};if(!e.enableDanmaku){t(i.enableDanmaku,false)}if(e.rememberDanmakuBlock){for(const n in e.danmakuBlockSettings){i[n]=`.bilibili-player-block-filter-type[ftype=${n}]`}async function a(){await SpinQuery.unsafeJquery();const n=await SpinQuery.any(()=>unsafeWindow.$(i.settingsIcon));n.mouseover().mouseout();for(const[n,t]of Object.entries(e.danmakuBlockSettings)){if(t===true){const e=await SpinQuery.select(()=>document.querySelector(i[n]));e.click()}}}async function c(){for(const n in e.danmakuBlockSettings){const t=await SpinQuery.select(()=>document.querySelector(i[n]));t.addEventListener("click",()=>{e.danmakuBlockSettings[n]=t.classList.contains("disabled");saveSettings(e)})}}a();c()}}})();
|
||||||
|
|
||||||
class ResourceType
|
class ResourceType
|
||||||
{
|
{
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
// ==UserScript==
|
// ==UserScript==
|
||||||
// @name Bilibili Evolved (Preview Offline)
|
// @name Bilibili Evolved (Preview Offline)
|
||||||
// @version 157.03
|
// @version 157.06
|
||||||
// @description 增强哔哩哔哩Web端体验(预览离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
|
// @description 增强哔哩哔哩Web端体验(预览离线版): 修复界面瑕疵, 删除广告, 使用夜间模式浏览; 下载视频,封面,弹幕, 以及增加对触屏设备的支持等.
|
||||||
// @author Grant Howard, Coulomb-G
|
// @author Grant Howard, Coulomb-G
|
||||||
// @copyright 2018, Grant Howrad (https://github.com/the1812)
|
// @copyright 2018, Grant Howrad (https://github.com/the1812)
|
||||||
@ -66,7 +66,7 @@
|
|||||||
top: false,
|
top: false,
|
||||||
bottom: false,
|
bottom: false,
|
||||||
color: false,
|
color: false,
|
||||||
magic: false,
|
special: false,
|
||||||
},
|
},
|
||||||
autoLightOff: false,
|
autoLightOff: false,
|
||||||
useCache: true,
|
useCache: true,
|
||||||
@ -799,6 +799,10 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static select(query, action, failed)
|
||||||
|
{
|
||||||
|
return SpinQuery.condition(query, it => it !== null, action, failed);
|
||||||
|
}
|
||||||
static any(query, action, failed)
|
static any(query, action, failed)
|
||||||
{
|
{
|
||||||
return SpinQuery.condition(query, it => it.length > 0, action, failed);
|
return SpinQuery.condition(query, it => it.length > 0, action, failed);
|
||||||
@ -1043,7 +1047,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=$(`<div class="bilibili-player-video-toast-item-jump">从头开始</div>`);l.appendTo(s).on("click",()=>c.currentTime=0);t.html(`<span>已跳转到上次历史记录</span><span>${n[0]}</span>`)}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/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=$(`<div class="bilibili-player-video-toast-item-jump">从头开始</div>`);l.appendTo(s).on("click",()=>c.currentTime=0);t.html(`<span>已跳转到上次历史记录</span><span>${n[0]}</span>`)}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.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/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(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)}}})();
|
offlineData["https://raw.githubusercontent.com/the1812/Bilibili-Evolved/master/min/default-danmaku-settings.min.js"] = (()=>{return(e,n)=>{async function t(e,n){const t=await SpinQuery.select(()=>document.querySelector(e));if(!t){return}t.checked=n;raiseEvent(t,"change")}const i={enableDanmaku:".bilibili-player-video-danmaku-switch>input",settingsIcon:".bilibili-player-video-danmaku-setting"};if(!e.enableDanmaku){t(i.enableDanmaku,false)}if(e.rememberDanmakuBlock){for(const n in e.danmakuBlockSettings){i[n]=`.bilibili-player-block-filter-type[ftype=${n}]`}async function a(){await SpinQuery.unsafeJquery();const n=await SpinQuery.any(()=>unsafeWindow.$(i.settingsIcon));n.mouseover().mouseout();for(const[n,t]of Object.entries(e.danmakuBlockSettings)){if(t===true){const e=await SpinQuery.select(()=>document.querySelector(i[n]));e.click()}}}async function c(){for(const n in e.danmakuBlockSettings){const t=await SpinQuery.select(()=>document.querySelector(i[n]));t.addEventListener("click",()=>{e.danmakuBlockSettings[n]=t.classList.contains("disabled");saveSettings(e)})}}a();c()}}})();
|
||||||
|
|
||||||
class ResourceType
|
class ResourceType
|
||||||
{
|
{
|
||||||
|
|||||||
@ -65,7 +65,7 @@
|
|||||||
top: false,
|
top: false,
|
||||||
bottom: false,
|
bottom: false,
|
||||||
color: false,
|
color: false,
|
||||||
magic: false,
|
special: false,
|
||||||
},
|
},
|
||||||
autoLightOff: false,
|
autoLightOff: false,
|
||||||
useCache: true,
|
useCache: true,
|
||||||
@ -798,6 +798,10 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static select(query, action, failed)
|
||||||
|
{
|
||||||
|
return SpinQuery.condition(query, it => it !== null, action, failed);
|
||||||
|
}
|
||||||
static any(query, action, failed)
|
static any(query, action, failed)
|
||||||
{
|
{
|
||||||
return SpinQuery.condition(query, it => it.length > 0, action, failed);
|
return SpinQuery.condition(query, it => it.length > 0, action, failed);
|
||||||
|
|||||||
@ -65,7 +65,7 @@
|
|||||||
top: false,
|
top: false,
|
||||||
bottom: false,
|
bottom: false,
|
||||||
color: false,
|
color: false,
|
||||||
magic: false,
|
special: false,
|
||||||
},
|
},
|
||||||
autoLightOff: false,
|
autoLightOff: false,
|
||||||
useCache: true,
|
useCache: true,
|
||||||
@ -798,6 +798,10 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static select(query, action, failed)
|
||||||
|
{
|
||||||
|
return SpinQuery.condition(query, it => it !== null, action, failed);
|
||||||
|
}
|
||||||
static any(query, action, failed)
|
static any(query, action, failed)
|
||||||
{
|
{
|
||||||
return SpinQuery.condition(query, it => it.length > 0, action, failed);
|
return SpinQuery.condition(query, it => it.length > 0, action, failed);
|
||||||
|
|||||||
2
min/default-danmaku-settings.min.js
vendored
2
min/default-danmaku-settings.min.js
vendored
@ -1 +1 @@
|
|||||||
(()=>{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)}}})();
|
(()=>{return(e,n)=>{async function t(e,n){const t=await SpinQuery.select(()=>document.querySelector(e));if(!t){return}t.checked=n;raiseEvent(t,"change")}const i={enableDanmaku:".bilibili-player-video-danmaku-switch>input",settingsIcon:".bilibili-player-video-danmaku-setting"};if(!e.enableDanmaku){t(i.enableDanmaku,false)}if(e.rememberDanmakuBlock){for(const n in e.danmakuBlockSettings){i[n]=`.bilibili-player-block-filter-type[ftype=${n}]`}async function a(){await SpinQuery.unsafeJquery();const n=await SpinQuery.any(()=>unsafeWindow.$(i.settingsIcon));n.mouseover().mouseout();for(const[n,t]of Object.entries(e.danmakuBlockSettings)){if(t===true){const e=await SpinQuery.select(()=>document.querySelector(i[n]));e.click()}}}async function c(){for(const n in e.danmakuBlockSettings){const t=await SpinQuery.select(()=>document.querySelector(i[n]));t.addEventListener("click",()=>{e.danmakuBlockSettings[n]=t.classList.contains("disabled");saveSettings(e)})}}a();c()}}})();
|
||||||
@ -4,9 +4,7 @@
|
|||||||
{
|
{
|
||||||
async function setCheckState(selector, value)
|
async function setCheckState(selector, value)
|
||||||
{
|
{
|
||||||
const checkbox = await SpinQuery.condition(
|
const checkbox = await SpinQuery.select(() => document.querySelector(selector));
|
||||||
() => document.querySelector(selector),
|
|
||||||
it => it !== null);
|
|
||||||
if (!checkbox)
|
if (!checkbox)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
@ -16,10 +14,47 @@
|
|||||||
}
|
}
|
||||||
const selectors = {
|
const selectors = {
|
||||||
enableDanmaku: ".bilibili-player-video-danmaku-switch>input",
|
enableDanmaku: ".bilibili-player-video-danmaku-switch>input",
|
||||||
|
settingsIcon: ".bilibili-player-video-danmaku-setting",
|
||||||
};
|
};
|
||||||
if (!settings.enableDanmaku)
|
if (!settings.enableDanmaku)
|
||||||
{
|
{
|
||||||
setCheckState(selectors.enableDanmaku, false);
|
setCheckState(selectors.enableDanmaku, false);
|
||||||
}
|
}
|
||||||
|
if (settings.rememberDanmakuBlock)
|
||||||
|
{
|
||||||
|
for (const type in settings.danmakuBlockSettings)
|
||||||
|
{
|
||||||
|
selectors[type] = `.bilibili-player-block-filter-type[ftype=${type}]`;
|
||||||
|
}
|
||||||
|
async function applyBlockSettings()
|
||||||
|
{
|
||||||
|
await SpinQuery.unsafeJquery();
|
||||||
|
const settingsIcon = await SpinQuery.any(() => unsafeWindow.$(selectors.settingsIcon));
|
||||||
|
settingsIcon.mouseover().mouseout();
|
||||||
|
|
||||||
|
for (const [type, value] of Object.entries(settings.danmakuBlockSettings))
|
||||||
|
{
|
||||||
|
if (value === true)
|
||||||
|
{
|
||||||
|
const element = await SpinQuery.select(() => document.querySelector(selectors[type]));
|
||||||
|
element.click();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
async function listenBlockSettingsChange()
|
||||||
|
{
|
||||||
|
for (const type in settings.danmakuBlockSettings)
|
||||||
|
{
|
||||||
|
const element = await SpinQuery.select(() =>document.querySelector(selectors[type]));
|
||||||
|
element.addEventListener("click", () =>
|
||||||
|
{
|
||||||
|
settings.danmakuBlockSettings[type] = element.classList.contains("disabled");
|
||||||
|
saveSettings(settings);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
applyBlockSettings();
|
||||||
|
listenBlockSettingsChange();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
})();
|
})();
|
||||||
Loading…
Reference in New Issue
Block a user