屏蔽百度广告, 尽可能的减少搜索时的广告干扰
// ==UserScript== // @name 屏蔽百度广告,让你百度搜索变得简单一些~ // @namespace http://tampermonkey.net/ // @version 1.1.0 // @description 屏蔽百度广告, 尽可能的减少搜索时的广告干扰 // @author daniel // @icon data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAYAAACtWK6eAAAVoUlEQVR4Xu2debAc1XXGv9NPC3rTI8DS9CCMQ0yRmOkRlBPsmJi4AJMgCBaVlEvsYINYzC42sUogsQmBWMQqHNtgwIBFKmXAmJgiqAzlhCROOUTTgwMpnEAsTY/EoumRQOj1SQ16jzye3jJ9+3ZPL2f+ffece853zu/2m57uewnyEQVEgTEVINFGFBAFxlZAAJHuEAXGUUAAkfYQBQQQ6QFRQE0BuYKo6SZWOVFAAMlJoSVNNQUEEDXdxConCgggOSm0pKmmgACipptY5UQBASQnhZY01RQQQNR0E6ucKCCA5KTQkqaaAgKImm5ilRMFBJCcFFrSVFNAAFHTTaxyooAAkpNCS5pqCgggarqJVU4UEEByUmhJU00BAURNN7HKiQICSE4KLWmqKSCAqOkmVjlRQADJSaElTTUFBBA13cQqJwoIIDkptKSppoAAoqabWOVEAQEkJ4WWNNUUEEDUdBOrnCgggOSk0JKmmgICiJpuYpUTBQSQnBRa0lRTIFeA###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 // @include https://www.baidu.com/* // @require https://libs.baidu.com/jquery/2.1.4/jquery.min.js // @grant unsafeWindow // @grant GM_openInTab // @grant GM.openInTab // @grant GM_getValue // @grant GM.getValue // @grant GM_setValue // @grant GM.setValue // @grant GM_xmlhttpRequest // @grant GM.xmlHttpRequest // @grant GM_registerMenuCommand // ==/UserScript== /** * 比较div最后一个tag内容是否等于content * 是: display设置为none * @param div dom * @param tag tag * @param content content */ function clcGuangGao(div, tag, content) { let $tags = $(div).find(tag) let tags = $tags.get() //所有span的dom对象 let length = tags.length; let targetElement = $tags.get(length - 1) //最后一个 if (targetElement) { let text = targetElement.innerText; if (text === content) { div.style.display = 'none' } } } /** * 清除广告 */ function clearGg() { // 清除左边广告 let $divs = $('#content_left > div') if ($divs) { let divs = $divs.get(); // $转为dom对象 for (let div of divs) { // hideElementIfLastTagContentIsContent(div, 'span', '广告') // 我们发现广告的class不带r###lt // 后来又发现真正的搜索结果带有id if (!div.id) { div.style.display = 'none' } // 主要针对二次弹出广告 clcGuangGao(div, 'a', '广告'); } } // 清除右边广告 // let $divs_right = $('#content_right > div') // if ($divs_right) { // let tuiguangDiv = $divs_right.get(0) // // hideElementIfLastTagContentIsContent(tuiguangDiv, 'span', '广告') // } } /** * 隐藏dom,如果最后一个或者倒数第二个tag的文本内容等于content * 例: hideElementIfLastTagContentIsContent(element, 'span', '广告') * 如果 element(dom元素) 下的最后一个或者倒数第二个 span 元素的文本内容为 '广告' ,那么就隐藏该 element * @param element dom元素 * @param tag 指定标签名(如 'span','a') * @param content 指定内容 */ function hideElementIfLastTagContentIsContent(element, tag, content) { let $tags = $(element).find(tag) let tags = $tags.get() //所有span的dom对象 let length = tags.length; let targetElement = $tags.get(length - 1) //最后一个span let secondLastElement = $tags.get(length - 2) //倒数第二个span if (targetElement && secondLastElement) { let text = $(targetElement).text(); let secondLast_text = $(secondLastElement).text(); // console.log(text) if (text === content || secondLast_text === content) { element.style.display = 'none' } } } /** * 循环清除广告 * @param n 循环次数 */ function clearGgByCount(n) { let count = n let interval = setInterval(() => { if (count === 0) { clearInterval(interval) // console.log("清除广告结束...") return } clearGg(); count-- }, 500) } /** * 循环清除广告 * 防止广告二次弹出 * @param n 间隔时间(单位ms) */ function cycleClearGg(n = 500) { setInterval(() => { clearGg() }, n) } (function () { 'use strict'; // const $ = $ || window.$ // Your code here... // 循环清理, 防止二次弹出, 因此搜索内容可能会因为屏蔽了广告而闪动一下 cycleClearGg() })();