您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
针对必应搜索的首页进行体验优化,隐藏繁杂的新闻资讯、今日热点等内容,可根据选项进行个性化的配置,还你一个干净简洁的必应搜索页面!
// ==UserScript== // @name 必应搜索首页净化 // @namespace BingSearchHomeClean // @version 1.3.2 // @description 针对必应搜索的首页进行体验优化,隐藏繁杂的新闻资讯、今日热点等内容,可根据选项进行个性化的配置,还你一个干净简洁的必应搜索页面! // @author Lee // @match *://*.bing.com/* // @exclude /^https?:\/\/.*bing\.com\/.+\?[a-z]+=.+/ // @grant GM_registerMenuCommand // @license GPL-3.0 // @icon data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjgiIGhlaWdodD0iMTI4IiB2aWV3Qm94PSIwIDAgMjQgMjQiPjxwYXRoIGZpbGw9IiMxNDg2QzkiIGQ9Im0xMC4xMjkgOC41OTZsMS43MzUgNC4zMjhsMi43NyAxLjI5TDE5IDE2LjI0N1YxMS43eiIgb3BhY2l0eT0iLjciLz48cGF0aCBmaWxsPSIjMTQ4NkM5IiBkPSJNMTQuNjM0IDE0LjIxNEw5IDE3LjQ1N1YzLjRMNSAydjE3Ljc2TDkgMjJsMTAtNS43NTNWMTEuN3oiLz48L3N2Zz4= // ==/UserScript== (function () { 'use strict'; let userSettings = { hideScrollContainer: true, hideHeader: true, hideMicrophone: true, hideGold: true, hideQrCode: true, hideScrollbar: true, hideInputTip: true, hideHotNewsInput: true, hideMobilePhoneLogo: true, hideQrCodeMobile: true, hideHotNews: true, hideSearchEdition: true, }; // 初始化用户设置,没有则创建默认设置 function initUserSettings() { if (localStorage.getItem('bingUserSettings')) { userSettings = JSON.parse(localStorage.getItem('bingUserSettings')); } else { localStorage.setItem('bingUserSettings', JSON.stringify(userSettings)); } } initUserSettings(); // 注册设置面板 function registerMenuCommand() { GM_registerMenuCommand('自定义隐藏栏目', () => { // 解决多次点击设置项导致无法关闭面板的问题 if (document.querySelector('.setting__panel')) { return; } const settingsPanel = document.createElement('div'); settingsPanel.innerHTML = ` <div class="setting__panel"> <h4 class="setting__panel__title">选择要隐藏的栏目</h4> <label><input type="checkbox" id="hideScrollContainer" ${userSettings.hideScrollContainer ? 'checked' : ''}>隐藏发现内容</label> <label><input type="checkbox" id="hideHeader" ${userSettings.hideHeader ? 'checked' : ''}>隐藏图片/视频等头部五栏</label> <label><input type="checkbox" id="hideGold" ${userSettings.hideGold ? 'checked' : ''}>隐藏奖杯数</label> <label><input type="checkbox" id="hideQrCode" ${userSettings.hideQrCode ? 'checked' : ''}>隐藏二维码</label> <label><input type="checkbox" id="hideInputTip" ${userSettings.hideInputTip ? 'checked' : ''}>隐藏输入框提示</label> <label><input type="checkbox" id="hideHotNewsInput" ${userSettings.hideHotNewsInput ? 'checked' : ''}>隐藏输入框内今日热点</label> <label><input type="checkbox" id="hideMicrophone" ${userSettings.hideMicrophone ? 'checked' : ''}>隐藏输入框麦克风图标</label> <label><input type="checkbox" id="hideHotNews" ${userSettings.hideHotNews ? 'checked' : ''}>隐藏今日热点</label> <label><input type="checkbox" id="hideSearchEdition" ${userSettings.hideSearchEdition ? 'checked' : ''}>隐藏国内外版本</label> <button id="closeSetting" class="setting__panel__close">关闭设置</button> </div>`; document.body.appendChild(settingsPanel); const userStyleSheet = document.createElement('style'); userStyleSheet.id = 'userStyleSheet'; userStyleSheet.innerHTML = ` .setting__panel { position: fixed; top: 10%; right: 10px; z-index: 9999; width: 300px; padding: 10px; background-color: #fff; border: 1px solid #ccc; border-radius: 8px; } .setting__panel__title { margin: 0 0 12px 0; text-align: center; } label { display: block; cursor: pointer; } input { margin-right: 6px; } .setting__panel__close { width: 100%; margin-top: 10px; cursor: pointer; } `; document.head.appendChild(userStyleSheet); const list = ['hideScrollContainer', 'hideHeader', 'hideMicrophone', 'hideGold', 'hideQrCode', 'hideScrollbar', 'hideInputTip', 'hideHotNewsInput', 'hideMobilePhoneLogo', 'hideQrCodeMobile', 'hideHotNews', 'hideSearchEdition']; list.forEach((id) => { const el = document.getElementById(id); if (el) { el.addEventListener('change', function (e) { userSettings[id] = e.target.checked; localStorage.setItem('bingUserSettings', JSON.stringify(userSettings)); startBingSearchClean(); }); } }); document.getElementById('closeSetting').addEventListener('click', () => { document.body.removeChild(settingsPanel); }); }); } registerMenuCommand(); // 执行净化操作 function startBingSearchClean() { // 发现内容 const container = document.querySelector('#scroll_cont'); if (container) { userSettings.hideScrollContainer ? (container.style.display = 'none') : (container.style.display = 'revert'); } // 头部五栏 const headerSection = document.querySelector('.scope_cont'); if (headerSection) { userSettings.hideHeader ? (headerSection.style.display = 'none') : (headerSection.style.display = 'revert'); } // 输入框麦克风图标 const microphone = document.querySelector('.mic_cont.icon'); if (microphone) { userSettings.hideMicrophone ? (microphone.style.display = 'none') : (microphone.style.display = 'inline-block'); } // 奖杯数 const gold = document.querySelector('#id_rh_w'); if (gold) { userSettings.hideGold ? (gold.style.display = 'none') : (gold.style.display = 'revert'); } // 必应app二维码 const qrCode = document.querySelector('#id_qrcode'); if (qrCode) { userSettings.hideQrCode ? (qrCode.style.display = 'none') : (qrCode.style.display = 'revert'); } // 隐藏溢出滚动条 const scrollbar = document.documentElement; if (scrollbar && container) { userSettings.hideScrollContainer ? (scrollbar.style.overflow = 'hidden') : (scrollbar.style.overflow = 'auto'); } // 输入框内提示 const inputTip = document.querySelector('.sb_form_placeholder'); if (inputTip) { userSettings.hideInputTip ? (inputTip.style.display = 'none') : (inputTip.style.display = 'revert'); } // 输入框内今日热点 const hotNewsInput = document.querySelector('#sa_pn_block'); if (hotNewsInput) { userSettings.hideHotNewsInput ? (hotNewsInput.style.display = 'none') : (hotNewsInput.style.display = 'revert'); } // 今日上的热点 const hotNews = document.querySelector('.below_sbox'); if (hotNews) { userSettings.hideHotNews ? (hotNews.style.display = 'none') : (hotNews.style.display = 'revert'); } // 国内外搜索不同版本 const searchEdition = document.querySelector('#est_switch'); if (searchEdition) { userSettings.hideSearchEdition ? (searchEdition.style.display = 'none') : (searchEdition.style.display = 'revert'); } // 搜索结果右侧手机端标识 const mobilePhoneLogo = document.querySelector('.id_mobile'); if (mobilePhoneLogo) { mobilePhoneLogo.style.display = 'none'; } // 下载手机端二维码推荐 const qrCodeMobile = document.querySelector('#id_qrcode_popup_container'); if (qrCodeMobile) { qrCodeMobile.style.display = 'none'; } } // 初次加载页面时就执行净化操作 const observer = new MutationObserver(() => { startBingSearchClean(); }); observer.observe(document.body, { childList: true, subtree: true }); })();