Greasy Fork

Greasy Fork is available in English.

Mangadex Group Blocker

To block groups on Mangadex's latest releases page

当前为 2021-10-30 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        Mangadex Group Blocker
// @namespace   Violentmonkey Scripts
// @match       https://mangadex.org/titles/latest*
// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @require     http://greasyfork.icu/scripts/31940-waitforkeyelements/code/waitForKeyElements.js?version=209282
// @grant       none
// @version     2.4
// @author      Onemanleft
// @description To block groups on Mangadex's latest releases page
// ==/UserScript==
 
// Start and end are the formats for the relevant element on the page.
const start = "#__layout > div > div.flex-grow.flex.flex-col.flex-shrink > div.flex-grow > div > div:nth-child(2) > div.mb-12 > div:nth-child(";
// Normal groups
const end = ") > div > div.chapter-feed__chapters > div > div:nth-child(1) > div > div > div.flex.justify-between.md\\:grid.md\\:grid-cols-3 > div";
// Special groups like Bilibili Comics with the unique icon
const end2 = ") > div > div.chapter-feed__chapters > div > div:nth-child(1) > div > div > a";
// Title if you want to debug at the end of the switch expression
const title = ") > div > a.chapter-feed__title";
// Wait for the chapters to be loaded.
waitForKeyElements(".flex-grow", function () {
try {
    // Count is how many chapters were loaded.
    const count = document.querySelector("#__layout > div > div.flex-grow.flex.flex-col.flex-shrink > div.flex-grow > div > div:nth-child(2) > div.mb-12").childElementCount;
    // Max "count" number of entries per page.
    for (let i = 1; i <= count; i++) {
        // This shows the group name.
	if (document.querySelector(start + i + end) != null) {
            var x = document.querySelector(start + i + end).innerText;
	}
	else {
	    var x = document.querySelector(start + i + end2).innerText;
	}
	switch (x) {
            // The groups you want to block.
            case "Azuki Manga":
            case "Bilibili Comics":
            case "Comikey":
            case "MangaPlus":
            /* To block more groups add a line after 'case "Bilibili Comics":' like
            case "Test":
            It IS a COLON (:) NOT a SEMICOLON (;)
            If you want to add pair group releases do
            case "Group 1\nGroup 2":
            */
            // Uncomment the line below if you want to see what got hidden by deleting the // and then going to F12 > Console
            // console.log("Hid " + x + " at count " + i + " titled " + document.querySelector(start + i + title).innerText);
            // This blocks the element if it matches the group name.
            document.querySelector(start + i + ")").style.display="none";
        }
    }
}
catch (e) {
    // If it sometimes doesn't work try refreshing. F12 > Console to view any possible errors.
    // <Cannot read property 'childElementCount' of null> sometimes appear at the start of a new latest page for some reason but stop after the next page.
    console.log(e);
}});