126邮箱,163邮箱关闭'网易严选'和'半个电台'广告,去除'vip'和'官方APP'广告,关闭主页广告

自动关闭网页版网易邮箱'网易严选'和'半个电台'tab页,关闭主页的广告,去除'vip'和'官方APP';火狐和Chrome以及Microsoft Edge浏览器建议使用TamperMonkey插件来使用脚本(AC带佬教我的);使用比较low的方式,带佬莫笑我 -.-

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

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

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

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

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

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

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

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

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

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

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

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

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

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

// ==UserScript==
// @name                126邮箱,163邮箱关闭'网易严选'和'半个电台'广告,去除'vip'和'官方APP'广告,关闭主页广告
// @namespace           https://greasyfork.org/
// @version             0.4.0
// @description         自动关闭网页版网易邮箱'网易严选'和'半个电台'tab页,关闭主页的广告,去除'vip'和'官方APP';火狐和Chrome以及Microsoft Edge浏览器建议使用TamperMonkey插件来使用脚本(AC带佬教我的);使用比较low的方式,带佬莫笑我 -.-
// @author              XingTianyu
// @match               *://*.mail.163.com/js6/main.jsp*
// @match               *://*.mail.126.com/js6/main.jsp*
// @icon                https://mail.163.com/favicon.ico
// @grant               none
// @note                2020.07-19-V0.1.2 使用自带的点击事件关闭广告的方式来关闭“网易严选”和“半个电台”,暂时没解决li元素id变化的问题
// @note                2020.07-25-V0.2.0 实现"官方APP"和"升级VIP"移除;清除无用代码;第一次完整实现所有预设目标,因此升级版本号到0.2.0;
// @note                2020.07-25-V0.2.1 删除左侧栏下方的广告(虽然大部分人使用了AdGuard一类的插件实现了屏蔽广告);已知bug:1.更新之后需要刷新好几下去除主页广告才会生效;2:偶尔出现点击"首页"按钮时主页出现广告但是没有去除的问题;3:如果网速比较慢,主页和左侧栏的广告可能就去不了(因为广告还没加载出来脚本已经运行完了,目前是1秒的延迟,如果你的网速比较慢,可以手动修改timerToRemove()函数中定时器预设的延迟时间)
// @note                2020.08-05-V0.2.2 新增对126邮箱的支持(虽然一行代码都没改...)
// @note                2020.08-22-V0.3.0 重构部分代码,修复偶尔无法去除‘开通邮箱会员’的bug,新增控制台打印信息
// @note                2021.09-19-V0.4.0 去除tab栏的"应用中心"
// @license             MIT
// ==/UserScript==

(function () {
    'use strict';

    /**
     * 点击自动关闭广告
     */
    function clickToClose(textList_click) {

        if (textList_click !== undefined) {

            for (var text of textList_click) {

                //获取需要去除的广告元素
                var clickEle = document.querySelector("li[title='" + text + "']>a");

                if (clickEle !== null) {
                    //执行点击事件关闭
                    clickEle.click();
                }
            }
        }
    }

    /**
     * 删除"官方APP"和"升级VIP"
     */
    function removeToClose() {

        var removeEle = document.getElementsByClassName('sh0')[1];
        while (removeEle != null) {

            //获取父节点
            var parent = removeEle.parentElement;
            // 删除:
            parent.removeChild(removeEle);

            removeEle = document.getElementsByClassName('sh0')[1];
        }
    }


    /**
     * 移除‘官方app’,‘开通邮箱会员’
     * @param {待删除的广告元素class名称数组} textList_delete 
     */
    function removeMainpageAds(textList_delete) {
        for (var className of textList_delete) {
            //获取待删除元素
            var removeEle = document.querySelector('.' + className);
            if (removeEle !== null) {
                //获取父节点
                var parent = removeEle.parentElement;
                if (parent !== null) {
                     // 删除:
                    parent.removeChild(removeEle);
                }
            }
        }
    }
    /**
     * 删除“应用中心”广告
     */
    function removeApplications(textList_delete) {
        //
        for (var title of textList_delete) {
            var removeEle = document.querySelector("li[title='" + title + "']");
            if (removeEle !== null) {
                //获取父节点
                var parent = removeEle.parentElement;
                if (parent !== null) {
                     // 删除:
                    parent.removeChild(removeEle);
                }
            }
        }
    }


    /**
     * 删除广告
     */
    function removeAds(textList_delete) {

        //移除主页广告
        removeMainpageAds(textList_delete);

        //移除‘官方app’,‘开通邮箱会员’
        removeToClose();
    }

    /**
     * 使用定时器删除主页广告和‘官方app’,‘开通邮箱会员’
     * @param {待删除的广告元素class名称数组} textList_delete 
     */
    function timerToRemove(textList_delete) {
        setTimeout(removeAds, 1000, textList_delete);
    }


    function printInfo() {

        console.log("%c[星田雨-“126邮箱,163邮箱关闭'网易严选'和'半个电台'广告,去除'vip'和'官方APP'广告,关闭主页广告”] %c感谢使用,广告已移除~", "font-weight:bold;color:darkorange", "color:0");
    }


    //使用点击关闭广告
    var textList_click = ['网易严选', '半个电台'];
    clickToClose(textList_click);

    //移除主页和左侧栏的广告
    var textList_delete = ['gWel-bottom', 'nui-closeable'];
    timerToRemove(textList_delete);

    //定时器删除“应用中心”广告
    setTimeout(removeApplications,1000,["应用中心"]);

    //打印信息
    printInfo();


})();