wnacg-helper

A manga helper for wnacg.com

2024/07/22のページです。最新版はこちら

スクリプトをインストールするには、Tampermonkey, GreasemonkeyViolentmonkey のような拡張機能のインストールが必要です。

You will need to install an extension such as Tampermonkey to install this script.

スクリプトをインストールするには、TampermonkeyViolentmonkey のような拡張機能のインストールが必要です。

スクリプトをインストールするには、TampermonkeyUserscripts のような拡張機能のインストールが必要です。

このスクリプトをインストールするには、Tampermonkeyなどの拡張機能をインストールする必要があります。

このスクリプトをインストールするには、ユーザースクリプト管理ツールの拡張機能をインストールする必要があります。

(ユーザースクリプト管理ツールは設定済みなのでインストール!)

このスタイルをインストールするには、Stylusなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus などの拡張機能をインストールする必要があります。

このスタイルをインストールするには、Stylus tなどの拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

このスタイルをインストールするには、ユーザースタイル管理用の拡張機能をインストールする必要があります。

(ユーザースタイル管理ツールは設定済みなのでインストール!)

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください
// ==UserScript==
// @name       wnacg-helper
// @namespace  https://www.wnacg.com/
// @version    0.0.1
// @author     dzh
// @license    MIT
// @icon       https://vitejs.dev/logo.svg
// @match      https://www.wnacg.com/*
// @description A manga helper for wnacg.com
// ==/UserScript==

(function () {
  'use strict';

  (function() {
    $(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}%`;
      });
    }
  })();

})();