2010-09-27 50 views
1

我正在開發一個來自Chrome的擴展,我需要在加載後對頁面代碼進行一些更改。但問題是window.onload事件現在幾乎沒有任何網站使用AJAX。你不能假定所有的內容都已經被加載,因爲在所有的AJAX請求完成加載之前,window.onload被觸發。所以我想能夠捕獲屬於任何XMLHttpRequest的所有onreadystatechange,並在我的擴展中處理該事件.....這甚至有可能嗎?原型有幫助嗎?使用JavaScript如何捕獲所有XMLHttpRequest onreadystatechange?

+0

我對Chrome API並不熟悉,但我猜測雖然可以檢測onreadystatechange,但對於您來說仍然不夠,因爲您不知道有多少請求被觸發了? – 2010-09-27 01:45:19

+0

我不關心具體的請求,我需要能夠知道什麼時候頁面中的任何XMLHttpRequest完成加載頁面比賽改變的時候 – CoDeR 2010-09-27 01:59:45

+1

看看這裏:http://stackoverflow.com/questions/9920515 /攔截 - 或追趕Ajax的呼叫與 - JavaScript的 – Nakilon 2012-11-30 15:14:41

回答

3

我不認爲這是直接可能的,雖然也許你可以用你自己的對象來代替window.XMLHttpRequest,該對象充當代表真實的XMLHttpRequest(但將全局回調提供給你自己的代碼)。

但是,您無法真正認爲XMLHttpRequest與內容加載無關。腳本可能會在任何交互事件或甚至無端暫停時編寫內容負載。

如果您需要知道任何時候將新內容添加到文檔中,您可能需要DOM Mutation Events

相關問題