1

那里有很多关于钩子函数的信息。但。是否可以挂钩访问对象?例如。我们有“导航器”对象。它有很多参数。我们需要挂钩对 UserAgent 参数的访问。可能吗?Mybe 我可以使用 setter/getter 的定义吗?或者是其他东西...

正如我们所知,没有办法替换 navigator 对象(它是只读的)。所以我们不能像这样简单地解决它:

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

ETC

问候!

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 回答