Greasy Fork

来自缓存

Greasy Fork is available in English.

MC官网禁止弹窗

禁止在打开或刷新MC国际版官网时,弹出的跳转网易版MC官网的弹窗

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name         MC官网禁止弹窗
// @namespace    Vikrant
// @version      1.0.0
// @description  禁止在打开或刷新MC国际版官网时,弹出的跳转网易版MC官网的弹窗
// @author       Vikrant4096
// @match        https://www.minecraft.net/zh-hans*
// @icon         none
// @grant        unsafeWindow
// @require      https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js
// @run-at       document-start
// @license      GNU GPLv3
// ==/UserScript==

(function () {
    'use strict';
    function main() {                           //制造一个假的弹窗元素供网页js操作,避免真正的弹窗被显示出来
        let fake = document.createElement("div")
        fake.classList.add("geo-loc-wrapper-edit-content")
        let fakeModal = document.createElement("div")
        fakeModal.id = ("netease-promotion-modal")
        $(document.body).prepend(fake)          //插在body最前面,可以让网页的选择器选中它而不是真正的弹窗
        fake.append(fakeModal)
    }
    function stop(e) {
        clearInterval(e)
    }
    let scan = setInterval(() => {              //尽可能快地插入假元素
        let body = document.body
        if (!!body) {
            stop(scan)
            main()
        }
    }, 20);

    //附:网页源代码里显示弹窗的部分
    /*    
    $(document).ready((function () {
        0 != $("#netease-promotion-modal").length
            &&
            ($("#netease-promotion-modal").closest(".geo-loc-wrapper-edit-content").length > 0
                ?
                $("#netease-promotion-modal").remove()
                :
                ($("#netease-promotion-modal").parents("body").hasClass("modal-open")
                    &&
                    $("#netease-promotion-modal").parents("body").removeClass("modal-open"),
                    $("#netease-promotion-modal").parents("body").addClass("modal-open"),
                    $("#netease-promotion-modal").addClass("show"),
                    $("#popup-btn").on("click", (function () {
                        $("#netease-promotion-modal").find("show"),
                        $("#netease-promotion-modal").removeClass("show"),
                        $("#netease-promotion-modal").parents("body").removeClass("modal-open")
                    }))
                )
            )
    }))
    */
})();