This commit is contained in:
the1812 2019-05-31 16:47:52 +08:00
parent 0da06796de
commit 473519d404
11 changed files with 68 additions and 44 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -529,6 +529,7 @@ function loadResources()
"customControlBackground",
"harunaScale",
"removeLiveWatermark",
"framePlayback",
];
for (const [key, data] of Object.entries(Resource.manifest))
{

View File

@ -529,6 +529,7 @@ function loadResources()
"customControlBackground",
"harunaScale",
"removeLiveWatermark",
"framePlayback",
];
for (const [key, data] of Object.entries(Resource.manifest))
{

View File

@ -19,6 +19,7 @@ export function loadResources()
"customControlBackground",
"harunaScale",
"removeLiveWatermark",
"framePlayback",
];
for (const [key, data] of Object.entries(Resource.manifest))
{

View File

@ -1 +1 @@
(()=>{return(e,t)=>{const r=t.import("framePlaybackHtml");t.applyStyle("framePlaybackStyle");const a=async()=>{const t=await SpinQuery.select(()=>document.querySelector("video"));const a=await SpinQuery.select(()=>document.querySelector(".bilibili-player-video-time"));if(a===null||document.querySelector(".frame-playback")){return}a.insertAdjacentHTML("afterend",r);let i=0;const c=()=>t.currentTime-=i;const n=()=>t.currentTime+=i;Observer.attributesSubtree(".bilibili-player-video-quality-menu ul.bui-select-list",()=>{const e=document.querySelector(".bilibili-player-video-quality-menu .bui-select-item-active");const t=e?parseInt(e.getAttribute("data-value")):0;const r=(()=>{switch(t){case 116:case 74:return 6e4/1001;default:return 3e4/1001}})();i=1/r});document.addEventListener("keydown",e=>{if(e.shiftKey&&!["input","textarea"].includes(document.activeElement.nodeName.toLowerCase())){if(e.key==="ArrowLeft"){e.stopPropagation();e.preventDefault();c()}else if(e.key==="ArrowRight"){e.stopPropagation();e.preventDefault();n()}}});document.querySelector(".prev-frame").addEventListener("click",c);document.querySelector(".next-frame").addEventListener("click",n);if(e.touchVideoPlayer){document.querySelectorAll(".frame-playback").forEach(e=>e.classList.add("touch"))}};Observer.videoChange(a)}})();
(()=>{return(e,t)=>{const r=t.import("framePlaybackHtml");t.applyStyle("framePlaybackStyle");const a=async()=>{const t=await SpinQuery.select(()=>document.querySelector("video"));if(e.videoScreenshot){const e=await SpinQuery.select(".video-take-screenshot");if(e===null||document.querySelector(".frame-playback")){return}e.insertAdjacentHTML("afterend",r)}else{const e=await SpinQuery.select(".bilibili-player-video-time");if(e===null||document.querySelector(".frame-playback")){return}e.insertAdjacentHTML("afterend",r)}let a=0;const i=()=>t.currentTime-=a;const l=()=>t.currentTime+=a;Observer.attributesSubtree(".bilibili-player-video-quality-menu ul.bui-select-list",()=>{const e=document.querySelector(".bilibili-player-video-quality-menu .bui-select-item-active");const t=e?parseInt(e.getAttribute("data-value")):0;const r=(()=>{switch(t){case 116:case 74:return 6e4/1001;default:return 3e4/1001}})();a=1/r});document.addEventListener("keydown",e=>{if(e.shiftKey&&!["input","textarea"].includes(document.activeElement.nodeName.toLowerCase())){if(e.key==="ArrowLeft"){e.stopPropagation();e.preventDefault();i()}else if(e.key==="ArrowRight"){e.stopPropagation();e.preventDefault();l()}}});document.querySelector(".prev-frame").addEventListener("click",i);document.querySelector(".next-frame").addEventListener("click",l);if(e.touchVideoPlayer){document.querySelectorAll(".frame-playback").forEach(e=>e.classList.add("touch"))}};Observer.videoChange(a);return{reload:()=>document.querySelectorAll(".bilibili-player-video-control-bottom .frame-playback").forEach(e=>e.setAttribute("style","display: flex !important")),unload:()=>document.querySelectorAll(".bilibili-player-video-control-bottom .frame-playback").forEach(e=>e.setAttribute("style","display: none !important"))}}})();

File diff suppressed because one or more lines are too long

View File

@ -203,8 +203,8 @@ const startTranslate = async () =>
}
});
}, { characterData: true, childList: true, subtree: true, attributes: true });
const iconPanel = await SpinQuery.select(".gui-settings-icon-panel")!;
iconPanel.addEventListener("be:load", () =>
const iconPanel = await SpinQuery.select(".gui-settings-icon-panel");
iconPanel!.addEventListener("be:load", () =>
{
Translator.walk(document.querySelector(".gui-settings-box")!, node => Translator.settingsDropdown.translate(node));
}, { once: true });

View File

@ -3,13 +3,25 @@ resources.applyStyle("framePlaybackStyle");
const main = async () =>
{
const video = await SpinQuery.select(() => document.querySelector("video"));
const time = await SpinQuery.select(() => document.querySelector(".bilibili-player-video-time"));
if (settings.videoScreenshot)
{
const screenshotButton = await SpinQuery.select(".video-take-screenshot");
if (screenshotButton === null || document.querySelector(".frame-playback"))
{
return;
}
screenshotButton.insertAdjacentHTML("afterend", html);
}
else
{
const time = await SpinQuery.select(".bilibili-player-video-time");
if (time === null || document.querySelector(".frame-playback"))
{
return;
}
time.insertAdjacentHTML("afterend", html);
}
let frameTime = 0;
const prevFrame = () => video.currentTime -= frameTime;
@ -60,3 +72,7 @@ const main = async () =>
}
};
Observer.videoChange(main);
export default {
reload: () => document.querySelectorAll(".bilibili-player-video-control-bottom .frame-playback").forEach(it => it.setAttribute("style", "display: flex !important")),
unload: () => document.querySelectorAll(".bilibili-player-video-control-bottom .frame-playback").forEach(it => it.setAttribute("style", "display: none !important")),
};

View File

@ -138,20 +138,23 @@ Observer.videoChange(async () => {
if (video === null) {
return;
}
if (settings.framePlayback) {
const frameButton = await SpinQuery.select(".frame-playback.prev-frame");
if (frameButton === null || document.querySelector(".video-take-screenshot")) {
return;
}
frameButton.insertAdjacentHTML("beforebegin", buttonHtml);
}
else {
// if (settings.framePlayback)
// {
// const frameButton = await SpinQuery.select(".frame-playback.prev-frame");
// if (frameButton === null || document.querySelector(".video-take-screenshot"))
// {
// return;
// }
// frameButton.insertAdjacentHTML("beforebegin", buttonHtml);
// }
// else
// {
const time = await SpinQuery.select(".bilibili-player-video-time");
if (time === null || document.querySelector(".video-take-screenshot")) {
return;
}
time.insertAdjacentHTML("afterend", buttonHtml);
}
// }
const screenshotButton = document.querySelector(".video-take-screenshot");
screenshotButton.addEventListener("click", async () => {
const video = await SpinQuery.select("#bofqi video");

View File

@ -162,24 +162,24 @@ Observer.videoChange(async () =>
{
return;
}
if (settings.framePlayback)
{
const frameButton = await SpinQuery.select(".frame-playback.prev-frame");
if (frameButton === null || document.querySelector(".video-take-screenshot"))
{
return;
}
frameButton.insertAdjacentHTML("beforebegin", buttonHtml);
}
else
{
// if (settings.framePlayback)
// {
// const frameButton = await SpinQuery.select(".frame-playback.prev-frame");
// if (frameButton === null || document.querySelector(".video-take-screenshot"))
// {
// return;
// }
// frameButton.insertAdjacentHTML("beforebegin", buttonHtml);
// }
// else
// {
const time = await SpinQuery.select(".bilibili-player-video-time");
if (time === null || document.querySelector(".video-take-screenshot"))
{
return;
}
time.insertAdjacentHTML("afterend", buttonHtml);
}
// }
const screenshotButton = document.querySelector(".video-take-screenshot") as HTMLElement;
screenshotButton.addEventListener("click", async () =>
{