Yahoo 邮箱去广告

""

// ==UserScript==
// @name         Yahoo 邮箱去广告
// @namespace    https://greasyfork.org/zh-CN/users/412790
// @version      1.0
// @author       /
// @description  ""
// @match        https://mail.yahoo.com/*
// @grant        GM_addStyle
// @run-at       document-start
// ==/UserScript==

/* globals $, jQuery */
'use strict';

GM_addStyle(`#ybar-inner-wrap>div:first-child,div[data-test-id="modal-outer"]{display:none!important}`);

const clickBtn = () => {
    document.visibilityState === "visible" && document.querySelector("div[title = 'Hide Advertisement']") && document.querySelector("div[title = 'Hide Advertisement']").click();
};

const Observer = new MutationObserver(() => {
    clickBtn();
});

const config = {
    childList: true,
    subtree: true,
    attributes: true,
    characterData: true,
    attributeOldValue: false,
    characterDataOldValue: false,
    attributeFilter: []
};

const addObserverIfDesiredNodeAvailable = () => {
    if(document.querySelector('div[data-test-id="mail-right-rail"]') != null){
        Observer.observe(document.body, config);
        clickBtn();
    }
    else{
        setTimeout(() => addObserverIfDesiredNodeAvailable(), 2e2);
    }
};

addObserverIfDesiredNodeAvailable();

document.addEventListener("visibilitychange", () => {
    document.visibilityState === "visible" && clickBtn();
});