JavaScript的。如何挂钩访问对象

时间:2013-03-09 14:20:28

标签: javascript navigator

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

我们知道哪里无法替换导航器对象(它是只读的)。所以我们不能简单地解决它:

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

问候!

PS 抱歉我的英文:)

1 个答案:

答案 0 :(得分:1)

我不确定我是否正确理解了您的问题,但如果您想在访问navigator.userAgent时执行某些操作,则可以将其重新定义为属性。

(function() {
    var userAgent = window.navigator.userAgent;
    Object.defineProperty(window.navigator, "userAgent", {
        get: function() {
            console.log("hello from useragent");
            return userAgent;
        }
    });
})();