// ==UserScript== // @name Kill TieBa AD // @name:zh-CN 贴吧伪装广告清理 // @namespace hoothin // @version 0.46 // @description Just Kill TieBa AD // @description:zh-CN 清理百度贴吧列表间伪装广告、帖内伪装广告与推荐应用广告 // @author hoothin // @include http*://tieba.baidu.com/* // @grant none // @run-at document-body // @supportURL http://www.hoothin.com // @license MIT License // @compatible chrome // @compatible firefox // @contributionURL https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=rixixi@sina.com&item_name=Greasy+Fork+donation // @contributionAmount 1 // @downloadURL none // ==/UserScript== (function() { 'use strict'; var observer, option; var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; var tcss = ".j_encourage_entry{display: none !important;} #encourage_entry{display: none !important;} .tpoint-skin{display: none !important;} #pb_adbanner{display: none !important;} .iframe_wrapper{display: none !important;}"; var snod = document.createElement('style'); snod.innerHTML = tcss; document.getElementsByTagName("head")[0].appendChild(snod); var content = document.querySelector("#content"); if(content){ observer = new MutationObserver(function(records){ delAD("#thread_list","LI"); }); option = { 'childList': true, 'subtree': true }; observer.observe(content, option); }else{ content=document.querySelector(".content"); if(!content)return; observer = new MutationObserver(function(records){ delAD("#j_p_postlist","DIV"); }); option = { 'childList': true, 'subtree': true }; observer.observe(content, option); } function delAD(a,b){ var threadList = document.querySelector(a); if(!threadList) return; var delList = []; for(let thread of threadList.childNodes){ if(thread.tagName == "STYLE"){ delList.push(thread); var previousSibling = thread.previousSibling; previousSibling = previousSibling.tagName == b?previousSibling:previousSibling.previousSibling; delList.push(previousSibling); }else if(thread.getAttribute && thread.getAttribute("data-isautoreply")){ delList.push(thread); } } for(let del of delList){ threadList.removeChild(del); } var easyAD, easyADs=document.querySelectorAll("span.label_text"); for(easyAD of easyADs){ if(easyAD.innerHTML=="广告" && easyAD.parentNode && easyAD.parentNode.parentNode){ easyAD.parentNode.parentNode.removeChild(easyAD.parentNode); } } } })();