13

カスタム関数を無効にする、またはさらに良い方法で置き換えることは可能window.locationですか?

この質問は関連しています:javascriptの組み込み関数を無効にする(アラート)

に対しては非常にうまく機能しますがwindow.alert、に対しては機能しませんwindow.location

置き換えたり無効にしたりする方法を見つけたいと思っています(置き換えが理想的であるため、AJAXログを作成できます)window.location...ダーティな広告主は、これを使用してWebプロパティから人々を奪うことがあります。

何か案は?

いくつかの特定のブラウザーでのみ機能するものでさえ、(AJAXロギングを介して)一度キャッチされると、これにかなり迅速に対処できるので問題ありません。

4

2 に答える 2

8

これを試して

var _window = {
       location: "myLocation"
};

(function (window) {
   console.log(window.location);
}(_window));
于 2012-04-20T07:16:30.877 に答える
6

再割り当てできるとは思いませんwindow.locationMDNから:

概要

ドキュメントのURLに関する情報を含み、そのURLを変更するためのメソッドを提供するLocationオブジェクトを返します。このプロパティに割り当てて、別のURLをロードすることもできます

https://developer.mozilla.org/en/DOM/window.location

プロパティのような値を取るので、オブジェクト/関数を別の値にどのように「再割り当て」しますか?プロパティの動作のため、それは不可能だと思います。

于 2011-06-25T15:33:37.727 に答える