Removes this tracking and redirection from google search results
// ==UserScript==
// @name Undirect
// @namespace http://stevesspace.com/
// @version 1.1.3
// @description Removes this tracking and redirection from google search results
// @include /^https?.\/\/.+google[^\/]*/
// @copyright 2014+, Steve Leigh
// ==/UserScript==
(function() {
var googlePagesPattern = /https?.\/\/.+google[^\/]*/gi;
if (!document.location.href.match(googlePagesPattern))
return;
var scriptToExecute = (function() {
var expectedRwt = function() { return true; };
var replaceRwtFunction = function() {
if (window.rwt && window.rwt != expectedRwt) {
delete window.rwt;
Object.defineProperty(window, 'rwt', {
value: expectedRwt,
writable: false
});
}
};
replaceRwtFunction();
var timeoutId = 0;
document.body.addEventListener("DOMNodeInserted", function() {
if (timeoutId) clearTimeout(timeoutId)
timeoutId = setTimeout(replaceRwtFunction, 1000);
}, false);
});
// Write script to page - since plugins often work in an isolated world, this gives us the
// ability to replace javascript added by the page
var fnContents = scriptToExecute.toString();
var executeFnScript = '(' + fnContents + ')();';
var script = document.createElement('script');
script.textContent = executeFnScript;
(document.head || document.documentElement).appendChild(script);
script.parentNode.removeChild(script);
})();