Hide Isekai general on /a/

Hide the isekai general on /a/ recognizable by it's OP post containing the word isekai in spoiler.

当前为 2024-05-02 提交的版本,查看 最新版本

您需要先安装一个扩展,例如 篡改猴Greasemonkey暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴暴力猴,之后才能安装此脚本。

您需要先安装一个扩展,例如 篡改猴Userscripts ,之后才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。

您需要先安装用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         Hide Isekai general on /a/
// @version      1.2
// @namespace    Hide Isekai general on /a/
// @description  Hide the isekai general on /a/ recognizable by it's OP post containing the word isekai in spoiler.
// @author       NecRaul
// @license      MIT; https://github.com/NecRaul/hide-isekai-general/blob/main/LICENSE
// @match        *://boards.4chan.org/a/
// @match        *://boards.4channel.org/a/
// @icon         https://www.google.com/s2/favicons?sz=64&domain=4channel.org
// @grant        none
// ==/UserScript==

(function () {
  "use strict";
  document.addEventListener(
    "PostsInserted", // uses the 4chanX API
    function () {
      // Find all elements with the class "catalog-thread"
      const catalogThreads = document.querySelectorAll(".catalog-thread");
      // Iterate through each catalog thread
      catalogThreads.forEach((thread) => {
        // Find the blockquote element within the current catalog thread
        const blockquote = thread.querySelector(
          ".catalog-container .catalog-post blockquote.postMessage"
        );
        // Check if the blockquote element exists and
        // has a spoiler tag with the word isekai in it.
        if (
          blockquote &&
          blockquote.innerHTML.match(/<s>(.*?)isekai(.*?)<\/s>/i)
        ) {
          // Apply CSS style to hide the catalog thread
          thread.style.display = "none";
        }
      });
    },
    false
  );
})();