新版萌娘百科去广告

2023/6/15 10:53:08

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name        新版萌娘百科去广告
// @namespace   Violentmonkey Scripts
// @match       *://*.moegirl.org.cn/*
// @grant       none
// @version     3.2
// @author      lmttlw
// @description 2023/6/15 10:53:08
// @license none
// ==/UserScript==
var IsKillAdvertise = true;//是否去广告
var IsKillBulletin = true;//是否去公告
(function () {
    // 选择要观察的 DOM 节点
    const targetNode = document.querySelector("body");

    // 配置观察选项:
    const config = { childList: true, subtree: true };//,attributes: true, subtree: true
    const callback = function (mutationsList, observer) {
        if (IsKillAdvertise) {
            var adjacentNodes = $("#app").siblings().filter(function () {
                if ($(this).attr('class')) {
                    return $(this).attr('class').startsWith('_01T-L5Cj4R');
                }
            });
            adjacentNodes.find("a").filter(function () {
                if ($(this).attr('class').startsWith('TAkM8pe4pR')) {
                    $(this)[0].click();
                }
            });
            var a = []
            $("#app").find("a").filter(function () {
                if ($(this).text() === "推广" || $(this).text() === "加载中") {
                    a.push($(this));
                }
            });
            var node = $("#app").siblings().filter(function () {
                if ($(this).attr('class')) {
                    return $(this).attr('class').startsWith('stevrhgmNo');
                }
            });
            node.find("a").filter(function () {
                if ($(this).text() === "加载中") {
                    a.push($(this));
                }
            });

            if (a.length > 0) {
                a.forEach(function (s) {
                    if (s[0]) {
                        var names = s[0].className.split(" ");
                        var name;
                        if (names.length > 1) {
                            name = "." + names[1];
                        } else {
                            name = "." + names[0];
                        }
                        var links = document.querySelectorAll(name);
                        // 对每个链接执行操作
                        links.forEach(function (link) {
                            link.click();
                            link.style.display = "none";
                        });
                    }
                })
            }
            a = []
            //这里往下全是修改叉不掉的广告
            var links = document.querySelectorAll(".gallery-item");
            //遍历所有广告位,
            links.forEach(function (link) {
                var href = link.getAttribute("href");
                //如果有非萌娘百科的链接则判断为广告
                if (href && !href.includes("moegirl")) {
                    //移除对应广告链接
                    link.removeAttribute("href");
                    var img = link.querySelector("img");
                    //修改图片为虹夏麻麻
                    const imageUrls = [
                        'https://s3.bmp.ovh/imgs/2024/09/04/7715189e0809639a.jpg',
                        'https://s3.bmp.ovh/imgs/2024/09/04/93f07cb4d65eebec.jpg',
                        'https://s3.bmp.ovh/imgs/2024/09/04/bccdb34281200db5.jpg',
                        'https://s3.bmp.ovh/imgs/2024/09/04/0ccce1f972aa3900.jpg',
                        'https://s3.bmp.ovh/imgs/2024/09/04/7c254180b4653525.jpg',
                        'https://s3.bmp.ovh/imgs/2024/09/04/a96d3bc2153b5741.jpg',
                        'https://s3.bmp.ovh/imgs/2024/09/04/b57a57d776d2c3f4.jpg',
                    ];
                    const randomIndex = Math.floor(Math.random() * imageUrls.length);
                    // 使用随机索引从数组中取出图片地址
                    const randomImageUrl = imageUrls[randomIndex];
                    img.src = randomImageUrl;
                    img.style.objectFit = 'cover';
                }
            });
            var title = document.querySelector(".gallery-details .title");
            if (title && !title.innerText.includes("广告") && !title.innerText.includes("萌娘")) {
                var name = title.querySelector(".name");
                if (name && !name.innerHTML.includes("虹夏")) {
                    name.textContent = "人活着哪有不喜欢虹夏的,硬撑罢了!";
                }
                var div = title.querySelector(".desc");
                //受不了啦,这个提示改不了我直接把提示禁了
                // div.style.display = "none";
                if (div && !div.innerHTML.includes("虹夏")) {
                    div.innerHTML = '';
                    var p = document.createElement('p');
                    p.innerHTML = "忍不了,一拳把下北泽打爆!人活着哪有不喜欢虹夏的,硬撑罢了!忍不了,一拳把下北泽打爆!人活着哪有不喜欢虹夏的,硬撑罢了!忍不了,一拳把下北泽打爆!人活着哪有不喜欢虹夏的,硬撑罢了!";
                    div.appendChild(p);
                }
                // var p = div.querySelector("p");
                // if (p) {
                //     p.removeAttribute('data-v-9f4885e2');
                //     p.innerHTML = p.innerText = p.textContent = "忍不了,一拳把下北泽打爆!人活着哪有不喜欢虹夏的,硬撑罢了!忍不了,一拳把下北泽打爆!人活着哪有不喜欢虹夏的,硬撑罢了!忍不了,一拳把下北泽打爆!人活着哪有不喜欢虹夏的,硬撑罢了!";
                // }
            }
            var Ad = document.querySelector(".restrict-tips");
            if (Ad) {
                Ad.style.display = "none";
            }
        }
        if (IsKillBulletin) {
            var Ad = document.querySelector(".n-base-close");
            if (Ad) {
                Ad.click();
            }
        }
    };
    // 创建一个观察器实例并传入回调函数
    const observer = new MutationObserver(callback);

    // 开始观察目标节点
    observer.observe(targetNode, config);
})();