我正在編寫一個Mozilla Firefox擴展(Javascript沒有必須識別它是IE還是Firefox的BS),在那裏我發現自己被困在以下情況。在一個頁面加載,我添加事件監聽器,像這樣: extension.addEventListener("DOMContentLoaded", extension.onPageLoad, true);
當DOM改變時的JavaScript事件監聽器
這將立即執行M「的onPageLoad()」方法爲DOM被加載,這意味着所有的數據被接收。並且,這工作,但我需要找到一種方式來添加一個偵聽器,當DOM 更改。擴展應該讀取appbrowser-window中的所有數據,即使通過AJAX調用進行更新(即:twitter,facebook)。
我進去看了DOMSubtreeModified事件,但似乎沒有內容時動態添加後的初始DOMContentLoaded事件已經被炒到工作。
有沒有人克服過這個問題?我的替代方案(上帝原諒我)是保持發射相同的函數與超時(2秒),重新讀取DOM和解析它,但我更喜歡只有這樣做,如果它實際上改變。
(我知道它的一個老問題) 順便說一句,你也應該加油門。 – 2011-09-09 14:08:47