18comic(禁漫天堂)净化增强

去除18comic(禁漫天堂)广告、拦截弹窗、修复布局、支持PC端|移动端

// ==UserScript==
// @name                18comic(禁漫天堂)净化增强
// @name:zh-CN          18comic(禁漫天堂)净化增强
// @name:zh-TW          18comic(禁漫天堂)凈化增強
// @name:en             18comicEnhance
// @namespace           https://github.com/GangPeter/pgscript
// @version             1.3
// @author              GangPeter
// @description         去除18comic(禁漫天堂)广告、拦截弹窗、修复布局、支持PC端|移动端
// @description:zh-CN   去除18comic(禁漫天堂)广告、拦截弹窗、修复布局、支持PC端|移动端
// @description:zh-TW   去除18comic(禁漫天堂)廣告、攔截彈窗、修復布局、支持PC端|移動端
// @description:en      Remove 18comic ads
// @match               *://*.18comic.vip/*
// @match               *://*.18comic.org/*
// @match               *://*.jmcomic.me/*
// @icon                data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAFo9M/3AAAACXBIWXMAAA7DAAAOwwHHb6hkAAABOElEQVR4nGL4DwRvyqX/M4AYU1PtIQwQYAAJOzo5QUTeAjkwjF8ArBdDxZsyCOP69etQASRZuBkwAJGUwjQTWdepCsv/nl5e/11dnCAmwHQgK1qfb/v/aY0mdncjY7gVMAAy7Q0Il0nBxdAUoOpGOBKoA68Vb5EU2Nna/g8KDv5/rtIMEhHf9l9H8YGLq+v/a9eu/Z+f5QDzJqqxj6u1/m8osEWEJC4vosUOAUeiA3DIgmNRBkpjeh9rOMHDCk0TMoZ5GGQwhgHgWMCi4VCZ1f/yKOf/FdHO/49XWGFPThBTMf3aGWf9f/KUKf+/fv36//fv3//7+vqA6d8BNcUiOx3dkLvV+v/93Oz/2zs4/Hd3d/8f4u38/0G1Dtx1mNEANADdG1jDAmoRqheI0EggOaNmKYSrcEcjAAAA//8XWQ2RAAAABklEQVQDAHc3181KAu2LAAAAAElFTkSuQmCC
// @run-at              document-start
// @grant               none
// @license             MIT
// @supportURL          https://github.com/GangPeter/pgscript
// @homepageURL         https://github.com/GangPeter/pgscript
// ==/UserScript==

(function () {

    const Css18Comic = [
        //通用
        `#billboard-modal`,//成年同意
        `#guide-modal`,//确认进入
        `div.modal-backdrop.fade.in`,//成年同意背景拦截
        `div.top-nav > div > ul > div.pull-left > li.top-menu-link`,//顶栏[各种推广链接]
        `#wrapper > div.div-bf-pv`,//顶部滚动图
        `li:has(a[href*=veteran])`,//好站推荐
        `li:has(a[href*=games])`,//游戏
        `li:has(a[href*=mailto])`,//廣告洽詢
        `li:has(a[href*=videos_cosav])`,//小电影
        `a[href*=bonus]`,
        `#wrapper > div.footer-pad`,//页底footer
        `#wrapper > div.container > div.footer-pad`,//页底footer
        `#wrapper > div.footer-container`,//页底footer
        `#wrapper > div.container > div.footer-container`,//页底footer
        `#wrapper > div.float-right-daily`,//右侧每日签到
        `#wrapper > div.float-right-image`,//右侧悬浮图
        `#wrapper > div.container > div.row:has(div.col-lg-3)[style]`,//广告
        `div.container > div.row:has(div.col-lg-3.col-md-3.col-sm-3.col-xs-6)`,//广告
        `#wrapper > div.hidden-lg`,//广告
        `div[data-group="album_detail"]`,//广告
        `body > div.ipprtcnt`,//广告弹窗
        `#wrapper > div.container > div.row > div > div.panel > div.panel-body > div.row > div[data-show*=ok]`,//广告
        `iframe`,//广告
        `div:has(p)[data-group="content_page"]`,//详细页顶部横幅广告
        `div:has(ins)[data-group="content_page"]`,//详细页顶部横幅广告
        `div.c835e-33_e`,
        `div.center.scramble-page.thewayhome`,
        `ul.tips-overlay.container[data-type*=_u_guide]`,//勳章功能提示開始
        `#wrapper > div.owl-carousel.partial-view.owl-loaded.owl-drag`,//绅夜食堂横幅广告
        `div[id*=exo-native-widget] > div.exo-native-widget-outer-container`,//绅夜食堂文章下方广告
        `div.blog_adv`,//底部
        `div.top_adv`,//顶部
        `div.container > div.row > div > div.panel.panel-default > div[style*=text-align]`,//看漫画页上下广告
        //移动端页面
        `li.top-menu-m:has(a[data-label="menu-top-link"])`,
        `div.d-lg-flex.align-items-center > ul.nav.navbar-nav.navbar-left > li.visible-xs.visible-sm.copy-block`,
        `div.d-lg-flex.align-items-center > ul.nav.navbar-nav.navbar-left > li.visible-xs.visible-sm.navbar-nav-icon`,
    ];

    const Css18ComicFix = [
        `#wrapper > div.container{padding-bottom:50px!important}`,//修复移动端翻页被遮挡
    ];

    function checkRunFlag(name) {
        if (document.getElementById(name)) {
            return true;
        } else {
            let style = document.createElement(`style`);
            style.id = name;
            (document.head || document.body).appendChild(style);
            return false;
        }
    }

    function generateRemoveADHTMLElement(id) {
        if (checkRunFlag(id)) return false;
        let style = document.createElement(`style`);
        (document.head || document.body).appendChild(style);
        let cssAdArr = generateRemoveADCssText(Css18Comic);
        style.appendChild(document.createTextNode((cssAdArr.concat(Css18ComicFix)).join(` `)));
        console.log('[18comic增强] 移除广告');
    }

    function generateRemoveADCssText(cssSelectorArr) {
        cssSelectorArr.forEach((selector, index) => {
            cssSelectorArr[index] = `${selector}{display:none!important}`;
        });
        return cssSelectorArr;
    }

    function main() {
        generateRemoveADHTMLElement(`removeADHTMLElement`);//移除界面中的广告
    }

    if (document.readyState === `loading`) {
        document.addEventListener(`DOMContentLoaded`, main);
    } else {
        main();
    }

})();