1

フック機能に関する多くの情報があります。だが。オブジェクトへのアクセスをフックすることは可能ですか?例えば。「ナビゲーター」オブジェクトがあります。たくさんのパラメータがあります。UserAgentパラメータへのアクセスをフックする必要があります。出来ますか?私はセッター/ゲッターの定義を使用できますか?または、他の何か...

ナビゲーターオブジェクトを置き換える方法がないことはわかっています(読み取り専用です)。したがって、次のように単純にそれを愛することはできません。

var blabla = navigator;
blabla.UserAgent = "myagent";

よろしく!

ps私の英語でごめんなさい:)

4

1 に答える 1

3

あなたの質問を正しく理解したかどうかはわかりませんが、navigator.userAgentにアクセスしたときに何かをしたい場合は、それをプロパティとして再定義できます。

(function() {
    var userAgent = window.navigator.userAgent;
    Object.defineProperty(window.navigator, "userAgent", {
        get: function() {
            console.log("hello from useragent");
            return userAgent;
        }
    });
})();
于 2013-03-09T15:33:29.053 に答える