Is it possible to overwrite window.location function with a custom function?

anonymous-one picture anonymous-one · Jun 25, 2011 · Viewed 13.1k times · Source

Is it possible to disable, or even better, replace with a custom function, window.location?

This question is related: Disable a built-in function in javascript (alert)

While it works quite well for window.alert, this does not work for window.location.

We would love to be able to find a way to replace or disable (replace would be ideal, so we can AJAX log) window.location... Dirty advertisers have at times before used this to steal people away from our web properties.

Any ideas?

Even something that only works on a few specific browsers would be fine as once caught (via AJAX logging) we can act on this fairly quickly.

Answer

adam ac picture adam ac · Apr 20, 2012

try this

var _window = {
       location: "myLocation"
};

(function (window) {
   console.log(window.location);
}(_window));