Greasy Fork is available in English.

从Google Baidu Bing等搜索引擎结果中屏蔽自定义网站

从Google Baidu Bing等搜索引擎结果中屏蔽自定义的网站

ของเมื่อวันที่ 27-10-2015 ดู เวอร์ชันล่าสุด

// ==UserScript==
// @name 从Google Baidu Bing等搜索引擎结果中屏蔽自定义网站
// @namespace BlockKafanTopicinGoogle
// @include *://www.google.com/*
// @include *://www.google.com.*/*
// @include *://www.baidu.com/*
// @include *://*.bing.com/*
// @include *://www.haosou.com/*
// @include *://www.youdao.com/*
// @author       AC
// @version 0.1.4
// @description 从Google Baidu Bing等搜索引擎结果中屏蔽自定义的网站
// @grant none
// ==/UserScript==

/*
baidu的搜索结果中,kafan被加上了个<b>,里面有字体设置,所以需要排除
谷歌搜索结果(N个当前结果)每个的class="rc"
baidu搜索结果的class="result c-container "这笔末尾有个空格
*/
/*
变量x用于baidu-google-bing-haosou-youdao
就是网址的黑名单的意思~~,--不显示该名单中的网址
*/
var x=new Array(
	"360.cn",
	"jav-library.com",
	"jav007.com",
	"javss.com",
	"javmega.net",
	"www.kafan.cn/topic",
	"www.kafan.cn/edu"
);
/*******************************************Baidu**********************************************/
document.addEventListener('DOMNodeInserted',blockKafanBaidu,false);
function blockKafanBaidu() {
	var citeList = document.getElementsByClassName('g');
	for (var index = citeList.length - 1; index >= 0; index--) {
		var element = replaceAll(citeList[index].innerHTML);
		if (checkIndexof(element)) {
      var node = citeList[index].parentNode;
      for(var index=0; index <= 4; index++){
				node = node.parentNode;
				if(node.className == "result c-container "){
						 break;
				}
			}
			if(index <= 4)
				node.parentNode.removeChild(node);
		}
	}
}
/**************************************Google+Bing+Haosou+Youdao**********************************/
document.addEventListener('DOMNodeInserted',blockKafanGoogle_Bing_Haosou_Youdao,false);
function blockKafanGoogle_Bing_Haosou_Youdao() {
	var citeList = document.getElementsByTagName('cite');
	for (var index = citeList.length - 1; index >= 0; index--) {
		var element = replaceAll(citeList[index].innerHTML);
		if (checkIndexof(element)) {
			var node = citeList[index].parentNode;
			for(var index=0; index <= 4; index++){
				node = node.parentNode;
				if(node.className == "rc" || 
					 node.className == "b_algo" || 
					 node.className == "res-list" || 
					 node.className == "rnw default"){
						 break;
					}
			}
			if(index <= 4)
				node.parentNode.removeChild(node);
		}
	}
}
/*去掉网址中的<xxx>*/
function replaceAll(sbefore){
	var send;
	send = sbefore.replace(/<[^>]*>/g ,"");
	return send;
}
/*确认是当前例子的一个子例*/
function checkIndexof(element){
	var result = (element.indexOf(x[0]) > -1);
	for(var i = 1; i <= x.length; i++){
		//alert("check");
		result = result || (element.indexOf(x[i]) > - 1);
	}
	return result;
}