Bing凈化增強

去除Bing廣告、攔截彈窗、修復布局、支持PC端|移動端

目前為 2024-12-19 提交的版本,檢視 最新版本

// ==UserScript==
// @name                Bing净化增强
// @name:zh-CN          Bing净化增强
// @name:zh-TW          Bing凈化增強
// @name:en             BingEnhance
// @namespace           https://github.com/GangPeter/pgscript
// @version             1.0
// @author              GangPeter
// @description         去除Bing广告、拦截弹窗、修复布局、支持PC端|移动端
// @description:zh-CN   去除Bing广告、拦截弹窗、修复布局、支持PC端|移动端
// @description:zh-TW   去除Bing廣告、攔截彈窗、修復布局、支持PC端|移動端
// @description:en      Remove Bing ads
// @match               *://*.bing.com/*
// @icon                data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAAEEfUpiAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAEYklEQVR4nLyX62+TVRzH+RsUlY3LGNTBLmVdt67rU2Cwiw4l27ICIrgAUZAXBEeWGAKJEllCvGAMGt0bIuqLxRETFRMTFTauTnCDjfXC7rMdtbfnWee6sov7es7Dzvp0fZ5n3UJ98Vmy0/P8zvf8zvldzhIAS6SIf0yN44gayDsTFgdSOlyPRzU7nHj5UhDrD7ijv1e3kXZrVByctbHxw0BkgGL+OQyKrE2K8fwkRC4D2VcnotegZB8VQGH/J73eGb2ExQZYWiex/acRFH48HGtBCVWBURuXbj5mAtuB6JQr01h/MxTrKebxDdfGkdTmh9HWF9nF3C1q3uxBRdeDyITSi2FQ91ZcC6Pkgh+5b/uwv2eOH3Z1TqOSTHjhaz5KbJTijZdDoJgJ8/lH1gD3wyNIWbCBgm/GIUV0ITn8fOK6uAzkn5uAFDaub5pC5vUwVv8xjKfb/1b2gf7EKKSw8YwbY0i5LWBpuxta6yBKHd3ylynzgBdS2PiW814UnPFAWzOElN192NNtU76NJZ/6kG7pwUsNQfHY6PUt/YrH5rMCjCcEZB1SOUZGecc0qlqnZg2UEANxOXExPNmLxAKPwikEYGJvIotstQhXNaB0leM2MJv8JCnEQOIgt+lfZF2X39K8sZBHPqaZdB1JzsmtfqzsGFK+SCw3SXOUvnkKGTdIIN0exlMkFjI7B5UNKAXT87//g2VtPqTed8Fk70P5TD6LMcCS39wkSMmoHcDyV+0oauvGbqVgkovGkgY/Np3zIPekG2lv/IWkSgf29VjlDWTtcYnZlbH911GUNQaw9XOSp0/5oT3igWavU9kHOxzAhup+5Nc4UdUygfLfRrHtIo+iL3iYTwvQ18RGZcy57rJNY2f71IyBEDEgoLheAHc6OP89YFgkBsqIgbhvopTNzSSsmx7DEeKJi8Wg+IP5lzHIwRH+FwHcJZKTFDAREi7A9B1JSSokXkADWUiFhAsouDABNdg8sXUg0LRJM18OSV5PRICxnuRkFdg82rewnJ3TPAkt6fDSSSehIQlw1R0Bz931qQpS/MFw9hHUkM6li+uuTopFI/3mGNa2jGDlHR7P3vViWcdDaO47obMOyApRFJB7KgQ15s6ni9Pmd01LECv+DOCZex4kk+KT1umE3jaAQnvvwgTk1I5ADaXvlrcGsJQsvuKWC2u+70WerR9bHKTVetAFSxdJ1vEK0B4OQA25b7hP3Mire4js4y6kHxlE6r5eJFscSH3Lip1ddrzWbY1fgK7Gi3V73YqweWU/BvHit34Uf+lH4Wc+cO/7YHjHC12tBxmHyflXO7HK0odqmcVVBVC21vmwtqIfqeURNJX94I4NiY0nLXf08bitkScdLK2bAWz6iIfpPR6G4zx0R/3IOuiF4d3oGhq3gAo78AqBlkj6yqFlkr74aKVjAmj3S2subaGL63nxJWiuG4bxZBD6Y5FX4aIEMKqsZHFZAaEZAQJ5fgkoInXb+MH8iy5YQCL5DwAA//82AwLsAAAABklEQVQDAFg3n0+JRXXiAAAAAElFTkSuQmCC
// @run-at              document-start
// @grant               none
// @license             MIT
// @supportURL          https://github.com/GangPeter/pgscript
// @homepageURL         https://github.com/GangPeter/pgscript
// ==/UserScript==

(function () {
    const CssBing = [
        //主页
        `#id_l`, //右上角登陆
        `#id_d`, //右上角个人信息弹窗
        `#id_rh_w`, //右上角奖励
        `#id_rfob`, //右上角现金
        `#id_rfoc`, //右上角未知
        `#id_qrcode`, //右上角下载Bing
        `#id_mobile`, //右上角手机版按钮
        `#id_qrcode_popup_positioner`, //右上角二维码弹窗
        `#sb_feedback`, //反馈按钮
        `#footer`, //页脚
        `#sa_pn_block`, //搜索栏热搜
        `#sb_form_c > div > span`, //搜索栏搜索建议词
        `#HBContent > div > div.hb_sect_container:has(div.hb_section_nohover)`, //设置窗口页脚
        `#vs_cont > div.mc_caro > div.hp_trivia_outer`, //主页测验题
        `#vs_cont > div.mc_caro > div > div.musCardCont`, //每日一图出处信息
        `#vs_cont > div.mc_caro_newmuse.five_col`, //图片标题
        `#vs_cont > div.mc_caro > div > div > div.icon_text`, //图片标题
        `#vs_cont > div.mc_caro > div > div > div.nav`, //上一张/下一张图片切换按钮
        `#vert_iotd`, //今日图像
        `#vert_images`, //最近网页图像
        `#vert_otd`, //历史今日
        `#vsrewds`, //微软奖励
        `#vs_default`, //将Bing设置为首页
        //可手动关闭
        // `#vs_cont > div.mc_caro.five_col_new`,//资讯信息布局调整
        // `#vs_cont > div.vs`,//资讯信息
        // `#headCont > nav`,//菜单栏

        //搜索页
        `#b_context > li.b_ad`, //更多结果广告
        `#b_results > li.b_ad`, //搜索结果推广广告
        `#adstop_gradiant_separator`, //广告分界线
        `div.b_hPanel:has(#bingApp_area)`, //bing词典下载APP
        `#id_mobpoppos`, //扫描 QR 码以获取应用并立即开始赚取积分!弹窗
        `#b_footer`, //页脚

        //航班-航班页
        `#main > ul:has(#data-from)`, //数据来源
        `#main > footer`, //页脚

        //学术页
        `#b_content > div.aca_contact`, //页脚
    ];

    const CssBingFix = [
        `.vs_cont .moduleCont .module{padding:0!important}`, //底部白块移除
        `#b_results > li.b_algo{margin-top:0!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(CssBing);
        style.appendChild(
            document.createTextNode(cssAdArr.concat(CssBingFix).join(` `))
        );
        console.log("[Bing增强] 移除广告");
    }

    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();
    }
})();