关于挂钩功能的很多信息。但。是否可以挂钩访问对象? 例如。 我们有“导航器”对象。它有很多参数。我们需要挂钩访问UserAgent param。可能吗? Mybe我可能会使用setter / getter的定义?或其他什么......
我们知道哪里无法替换导航器对象(它是只读的)。所以我们不能简单地解决它:
var blabla = navigator;
blabla.UserAgent = "myagent";
等
问候!
PS 抱歉我的英文:)
答案 0 :(得分:1)
我不确定我是否正确理解了您的问题,但如果您想在访问navigator.userAgent时执行某些操作,则可以将其重新定义为属性。
(function() {
var userAgent = window.navigator.userAgent;
Object.defineProperty(window.navigator, "userAgent", {
get: function() {
console.log("hello from useragent");
return userAgent;
}
});
})();