A manga helper for wnacg.com
当前为
// ==UserScript==
// @name wnacg-helper
// @namespace https://www.wnacg.com/
// @version 0.0.2
// @author dzh
// @description A manga helper for wnacg.com
// @license MIT
// @icon https://www.wnacg.com/favicon.ico
// @match https://www.wnacg.com/*
// @grant GM_addStyle
// ==/UserScript==
(o=>{if(typeof GM_addStyle=="function"){GM_addStyle(o);return}const t=document.createElement("style");t.textContent=o,document.head.append(t)})(" .shortcut{display:none;position:absolute;bottom:5px;right:25px;border:none;padding:6px 10px;font-size:14px;color:#f0f8ff;background-color:#000;border-radius:25px}.shortcut:hover{background-color:#000c;cursor:pointer}.pic_box:hover .shortcut{display:block} ");
(function () {
'use strict';
$(document).ready(() => {
observerImgList();
});
$(window).on("load", () => {
$(document).keydown(handleKeydownEvent);
});
function observerImgList() {
const targetNode = document.getElementById("img_list");
if (!targetNode) return;
const observer = new MutationObserver(handleMutationCallback);
observer.observe(targetNode, {
childList: true,
subtree: true
});
}
function handleMutationCallback(mutationList, observer) {
mutationList.forEach((mutation) => {
if (mutation.type === "childList") {
autoChangeWidth();
}
});
}
function autoChangeWidth() {
const imgList = document.querySelectorAll("#img_list img");
imgList.forEach((img) => {
img.style.width = "60%";
});
}
function handleKeydownEvent(e) {
switch (e.key) {
case "=":
plusWidth();
break;
case "-":
minusWidth();
break;
case "r":
autoChangeWidth();
break;
}
}
function plusWidth() {
const imgList = document.querySelectorAll("#img_list img");
const plusStep = 2;
imgList.forEach((img) => {
const width = parseInt(img.style.width);
img.style.width = `${width + plusStep}%`;
});
}
function minusWidth() {
const imgList = document.querySelectorAll("#img_list img");
const minusStep = 2;
imgList.forEach((img) => {
const width = parseInt(img.style.width);
if (width <= 10) return;
img.style.width = `${width - minusStep}%`;
});
}
new URL(location.href).pathname;
const slideViewUrl = (pid) => `https://www.wnacg.com/photos-slide-aid-${pid}.html`;
$(document).ready(addSlideViewShortcut);
function addSlideViewShortcut() {
const mangaBox = $(".gallary_wrap .gallary_item");
$(mangaBox).each(addShortcutEle);
}
function addShortcutEle() {
const container = $(this).find(".pic_box");
const ele = $(document.createElement("button"));
ele.text("Slide View");
ele.addClass("shortcut");
ele.on("click", goToSlideView);
container.append(ele);
}
function goToSlideView() {
const link = $(this).parent().find("a").attr("href");
const pid = link.match(/\d+/)[0];
window.open(slideViewUrl(pid), "_blank");
}
})();