// ==UserScript== // @name 从Google Baidu Bing等搜索引擎结果中屏蔽自定义网站 // @namespace BlockKafanTopicinGoogle // @include *://encrypted.google.com/* // @include *://www.google.com/* // @include *://www.google.com.*/* // @include *://www.baidu.com/* // @include *://*.bing.com/* // @include *://www.haosou.com/* // @include *://www.youdao.com/* // @icon https://coding.net/u/zb227/p/zbImg/git/raw/master/icon.jpg // @author AC // @version 0.1.6 // @description 从Google Baidu Bing等搜索引擎结果中屏蔽自定义的网站 // @grant none 2015.10.31-2 修正了(因修改谷歌页面卡顿)导致的百度卡死情况,蛋疼的百度在某个f13标签卡死了 // @grant none 2015.10.31 更新处理谷歌页面卡顿的情况-求测试和反馈 // @downloadURL none // ==/UserScript== /* baidu的搜索结果中,kafan被加上了个,里面有字体设置,所以需要排除 谷歌搜索结果(N个当前结果)每个的class="rc" baidu搜索结果的class="result c-container "这笔末尾有个空格 */ /* 变量x用于baidu-google-bing-haosou-youdao 就是网址的黑名单的意思~~,--不显示该名单中的网址 */ var x=new Array( "360.cn", "mm131.com", "jkforum.net", "t66y.cc", "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 isGoogle = (location.href.indexOf('.google.com') > -1); if(!isGoogle){ var citeList = document.getElementsByClassName('g'); //之前取的是g,但这个标签在google中是最大的标签,导致谷歌页面卡住 for (var index = 0; index <= citeList.length; index++) { var element = replaceAll(citeList[index].innerHTML); //alert(element); 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); } } } /*去掉网址中的*/ 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; }