Jinxin Novel ZhaoZe

下载黑沼泽俱乐部中的小说

此腳本不應該直接安裝,它是一個供其他腳本使用的函式庫。欲使用本函式庫,請在腳本 metadata 寫上: // @require https://update.sleazyfork.org/scripts/487102/1330370/Jinxin%20Novel%20ZhaoZe.js

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name         Jinxin Novel ZhaoZe
// @namespace    https://gitee.com/jinxin11112/tampermonkey
// @version      0.1.3
// @description  下载黑沼泽俱乐部中的小说
// @author       jinxin
// @match        https://zhaoze.pro/*
// @grant        none
// @license MIT
// ==/UserScript==

class ZhaoZe {
    'use strict';

    excludeTags = ['div', 'blockquote', 'fieldset', 'img']

    getContent() {
        let messages = document.getElementsByClassName("entry-content")[0].children;
        let contentList = [];
        for (let message of messages) {
            let tagName = message.tagName;
            if (this.excludeTags.includes(tagName.toLowerCase())) continue;
            let content = message.innerHTML;
            if (content) {
                content = this.removeGarbled(content);
                contentList.push(content);
                contentList.push('\n\n')
            }
        }
        return contentList;
    }

    removeGarbled(str) {
        if (!str) return str;
        str = str.replace(/ /g, ' ')
        str = str.replace(/ – 黑沼泽俱乐部/g, '')
        return str;
    }

    getTitle() {
        let title = document.title;
        title = title.replace(' - 调教小说', '');
        title = title.replace('- 黑沼泽俱乐部', '');
        title = title.replace('-调教小说原创,翻译,转载', '');
        return title;
    }
}