2013-03-09 75 views
0

哪裏有大量關於掛鉤功能的信息。但。是否有可能掛鉤訪問對象?例如, 。 我們有「導航器」對象。它有很多參數。我們需要掛鉤訪問UserAgent參數。可能嗎? Mybe我可以使用setter/getter的定義?還是別的...JavaScript。如何掛鉤到對象

因爲我們知道哪裏沒有辦法取代導航對象(它是隻讀的)。因此,我們不能解決售後服務簡單,如:

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

商祺!

PS 對不起,我的英語:)

+0

你是什麼意思的「鉤」?阻止api訪問?在繼續時做些什麼? – benzonico 2013-03-09 14:23:16

+0

是的。做一些事情,例如替換UserAgent參數並調用一些函數。 – user1641423 2013-03-09 14:43:35

+0

由您控制的某些代碼對該變量的訪問權限? – benzonico 2013-03-09 14:46:20

回答

1

我不知道如果我理解正確你的問題,但如果你想在一個navigator.userAgent的訪問做一些事情,你可以重新定義它作爲一個屬性。

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

非常感謝!它的全部我需要! – user1641423 2013-03-14 10:30:26

+1

是否可以執行相同的函數來訪問*任何*屬性? – Domi 2014-05-08 17:30:19