Greasy Fork

Greasy Fork is available in English.

清理百度贴吧插入广告

清理掉贴吧列表和贴子中插入的广告(轻量级)

当前为 2016-08-18 提交的版本,查看 最新版本

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Greasemonkey 油猴子Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Violentmonkey 暴力猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴Userscripts ,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey 篡改猴,才能安装此脚本。

您需要先安装一款用户脚本管理器扩展后才能安装此脚本。

(我已经安装了用户脚本管理器,让我安装!)

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展,比如 Stylus,才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

您需要先安装一款用户样式管理器扩展后才能安装此样式。

(我已经安装了用户样式管理器,让我安装!)

// ==UserScript==
// @name         清理百度贴吧插入广告
// @icon         http://www.studstu.com/fximg/delicious.gif
// @namespace    moekai.moe.cleartiebaad
// @version      0.9
// @description  清理掉贴吧列表和贴子中插入的广告(轻量级)
// @author       YIU
// @include      *://tieba.baidu.com/*
// @grant        none
// @compatible   chrome OK
// @compatible   firefox OK
// ==/UserScript==

(function() {

	//======== 你可以修改这下面的数据 ========

	//清理 1楼 下的 相关推荐(0不清理 1清理)
	var delrec = 0;

	//滚动条清理频率(如果想更快的清理,可以把数值改小,但不要小于1)
	var scrollrate = 10;



	//======== 函数区,不要修改 =======

	//--- 删除列表AD
	function DelTeibaListAD(){
		//列表区域检查
		var oa = document.getElementById('thread_list');
		if(!oa) return;

		var os = oa.children;
		var oss = os.length;

		for(var o=0; o<oss; o++)
		{
			var oi = os[o];
			if(oi){
				if(!oi.classList.contains('thread_top_list_folder') && !oi.attributes['data-field'])
				{
					oi.parentNode.removeChild(oi);
				}
			}
		}

	}

	//--- 删除贴子AD
	function DelTeibaPostAD(){
		//帖子区域检查
		var oa = document.getElementById('j_p_postlist');
		if(!oa) return;

		//对于翻页嵌套的节点选择最后一个合适的节点
		var ob = oa.childNodes;
		var os = ob[ob.length-1].className == 'p_postlist' ? ob[ob.length-1].children : oa.children;
		var oss = os.length;

		for(var o=0; o<oss; o++)
		{
			var oi = os[o];
			if(oi){
				if(!oi.attributes['data-field'] || oi.attributes['data-isautoreply'] || oi.attributes['data-field'].value.match(/user_id\":\"(.*?)\"/))
				{
					oi.parentNode.removeChild(oi);
				}
			}
		}

	}

	//--- 删除相关推荐
	function DelRecommend(){
		if(delrec < 1) return;
		var oa = document.getElementsByClassName('thread_recommend');
		if(oa.length < 1) return;
		oa[0].parentNode.removeChild(oa[0]);
	}



	//======== 主处理区,不要修改 ========

	//--- 清理第一次加载完成的页面
	window.onload = function(){
		DelTeibaListAD();
		DelTeibaPostAD();
		DelRecommend();
	};

	//--- 用滚动条进行清理
	window.onscroll = function(){
		//获取滚动条高度
		var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;

		//滚动条清理频率范围
		if(Number.isInteger(scrollTop/(scrollrate < 1 ? 1 : scrollrate))){
			DelTeibaListAD();
			DelTeibaPostAD();
			DelRecommend();
		}
	};

})();