Skip to content

Instantly share code, notes, and snippets.

@bbqsrc
Created January 21, 2012 02:56
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save bbqsrc/1650975 to your computer and use it in GitHub Desktop.
Save bbqsrc/1650975 to your computer and use it in GitHub Desktop.
Google Search Unmangler - Greasemonkey Script
// ==UserScript==
// @name Google Search Unmangler
// @namespace ScrewGoogle
// @description Unmangle Google Search URLs
// @include http://google.tld/*
// @include http://www.google.tld/*
// ==/UserScript==
var ScrewGoogle = {};
ScrewGoogle.unmangleURL = function(url) {
var urlIndex = url.indexOf("url="), lastParam, unmangled;
if (urlIndex == -1) {
return url;
}
urlIndex += 4;
unmangled = url.substr(urlIndex);
lastParam = unmangled.indexOf('&');
unmangled = decodeURIComponent(unmangled.substring(0, lastParam));
return unmangled;
};
ScrewGoogle.findMangledURLs = function() {
var links = document.getElementsByClassName("l"), link, attrs;
for (var i = 0, ii = links.length; i < ii; ++i) {
link = links[i];
attrs = link.attributes;
for (var attr in attrs) {
if (attr == "href" || attr == "class") {
continue;
}
link.removeAttribute(attr);
}
link.setAttribute('href', ScrewGoogle.unmangleURL(link.href));
}
};
window.addEventListener("load", function(e) {
unsafeWindow.rwt = function(){};
ScrewGoogle.findMangledURLs();
}, false);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment