我目前使用FireBug來了解hypem如何提供允許其Flash播放器工作的內容(特別是播放按鈕功能)。我發現trackList
變量中填充了數據,但我不知道它在哪裏設置。使用FireBug在Javascript中設置變量的時間/地點的跟蹤
我該如何跟蹤何時/何地修改此集合?我可以添加一個手錶,但不知道如何在設置時進行陷阱。
僅供參考我這樣做是因爲我想要這些功能的一部分,並且想要了解他們是如何做到這一點的。
我目前使用FireBug來了解hypem如何提供允許其Flash播放器工作的內容(特別是播放按鈕功能)。我發現trackList
變量中填充了數據,但我不知道它在哪裏設置。使用FireBug在Javascript中設置變量的時間/地點的跟蹤
我該如何跟蹤何時/何地修改此集合?我可以添加一個手錶,但不知道如何在設置時進行陷阱。
僅供參考我這樣做是因爲我想要這些功能的一部分,並且想要了解他們是如何做到這一點的。
不幸的是,這不是直接可能的。相反,您可以通過Javascript進行搜索並查看變量的設置位置,然後在每行找到正常斷點。
這裏是你如何使用defineProperty
來做到這一點。在我的示例中,我將每次分配window.$
以及調用堆棧。當然,不要記錄日誌,您可以觸發debugger;
或執行其他操作。
Object.defineProperty(window, "$",
{
set: function(val) {
console.log("$ was set to '",val,"' at ",Error().stack);
this.$internal=val;
},
get: function() { return this.$internal; }
});
我試過這個,但不幸似乎無法找到它在哪裏設置! – Chris 2010-07-21 14:47:05
嘗試調用'defineProperty'並在屬性中放置斷點或'console.log'調用。 – SLaks 2010-07-21 15:08:49
對不起,但我該如何使用'defineProperty'? – Chris 2010-07-22 08:05:46