Disable Google URL redirector (i.e. user data tracking) on Google Search result, including Google Custom Search Engine (CSE) which is used by many websites.
当前为
// ==UserScript==
// @name Disable Google Search Result URL Redirector
// @namespace DisableGoogleSearchResultURLRedirector
// @description Disable Google URL redirector (i.e. user data tracking) on Google Search result, including Google Custom Search Engine (CSE) which is used by many websites.
// @version 1.0.1
// @author jcunews
// @include *://*/*
// @grant none
// @run-at document-start
// ==/UserScript==
var ele = document.createElement("SCRIPT");
ele.text = "(" + (function () {
var orgCreateElement;
//wait for CSE to finish its initialization
function waitCse() {
if (window.google && google.search && google.search.B && google.search.B.prototype.Fq) {
//disable redirector
google.search.B.prototype.Fq = function(){};
} else setTimeout(waitCse, 20);
}
//check if newly loaded script is CSE
function checkCse(ev) {
if (window.__gcse) {
document.createElement = orgCreateElement;
waitCse();
}
}
if ((/www\.google\.[a-z]+(\.[a-z]+)?/).test(location.hostname)) {
//Google website: disable URL redirector generator function
addEventListener("load", function() {
if (window.rwt) {
window.rwt = function() { return true };
}
});
} else {
//other websites:
//monitor for any CSE initialization
orgCreateElement = document.createElement;
document.createElement = function(tag) {
var res = orgCreateElement.apply(this, arguments);
if (tag.toLowerCase() === "script") res.addEventListener("load", checkCse);
return res;
};
//disable ads
HTMLElement.prototype.insertBefore = function(ele) {
if ((/:\/\/cse\.google\.com\/adsense\/search\/(async-)?ads\.js/).test(ele.src)) return ele;
return Node.prototype.insertBefore.apply(this, arguments);
};
}
}) + ")()";
document.head.appendChild(ele);