Skip to content

Instantly share code, notes, and snippets.

@fuba
Created February 15, 2011 21:01
Show Gist options
  • Save fuba/828231 to your computer and use it in GitHub Desktop.
Save fuba/828231 to your computer and use it in GitHub Desktop.
modified for autopagerize
// ==UserScript==
// @name Google Filter
// @namespace hirak99
// @description Filters out search entries from specific sites from Google
// @include http://www.google.com/search*
// @include http://www.google.co.jp/search*
// @include http://www.google.co.uk/search*
// @include http://www.google.co.in/search*
// @version 2.0 - fixed for new google on 25 Oct, 2009
// ==/UserScript==
// 2.15.2011 modified for autopagerize by fuba
var sitesToRemove=[
'^http://www\.unkar\.org/',
'^http://unkar\.org/',
'2ch\.net/',
];
function googleFilter (resultsDiv) {
var results = resultsDiv.getElementsByClassName('g w0');
var removedSites=new Array();
for (var i=0; i<results.length; ++i) {
var result = results[i];
//var cite = result.getElementsByTagName('cite')[0];
//var site = cite.innerHTML.replace(/<.*?>/g,'');
//print(site);
var href=result.getElementsByTagName('a')[0].href;
//print(href);
var removeThis = false;
for (j=0; !removeThis && j<sitesToRemove.length; ++j)
//if (href.substring(0,sitesToRemove[j].length)==sitesToRemove[j]) removeThis=true;
if (href.match(sitesToRemove[j])!=null) removeThis=true;
if (removeThis) {
removedSites[removedSites.length]=result;
//result.style.display='none';
result.style.setProperty('background-color','#E0E0E0','');
}
}
if (removedSites.length>0) {
if (!window.removedSites) window.removedSites = [];
var page = window.removedSites.length;
window.removedSites[page]=removedSites;
var newElement=document.createElement('div');
newElement.style.setProperty('color','#7070FF','');
resultsDiv.insertBefore(newElement,resultsDiv.firstChild)
var toggleDisplay=function() {
removedSites=window.removedSites[page];
display=removedSites[0].style.display;
if (display=='') display='none'; else display='';
for (i=0; i<removedSites.length; ++i)
removedSites[i].style.display=display;
newElement.innerHTML='<div style="font-size: x-small">('+
removedSites.length+' item'+
(removedSites.length>1?'s':'')+
' filtered out by GreaseMonkey script - Click to '+(display==''?'hide':'show')+')</div>';
}
newElement.addEventListener('click',toggleDisplay,true);
toggleDisplay();
}
}
googleFilter(document.getElementById('res'));
document.body.addEventListener('AutoPagerize_DOMNodeInserted',function(evt){
googleFilter(evt.target);
}, false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment