2011-08-01 113 views
5

我想將偵聽器附加到AJAX更新,以便我可以重新加載我的Chrome擴展。現在,如果用戶點擊並轉到通過AJAX加載的網站的另一部分,則擴展程序不會顯示。這個網站不是我的網站,所以我不控制AJAX更新。謝謝!通過Chrome擴展將偵聽器附加到AJAX事件

+0

你曾經有過這樣的幸運嗎?我試圖解決相同的問題,原因不同。我真的很想了解瀏覽器收到的任何響應的內容。必須有一種方法可以做到這一點,因爲chrome中的開發人員工具欄可以做到這一點,並且我相信它是用JavaScript實現的。 – Omn

+0

我認爲答案可以幫助你:http://stackoverflow.com/a/11811558/453767 –

回答

4

你可以不聽Ajax請求(不使用實驗API),但你可以聽DOMSubtreeModified事件,每當DOM被修改火災:

document.addEventListener("DOMSubtreeModified", function(event){ 
     //something on the page has changed 
}); 

只是需要小心,因爲可能有數百個這些事件在大塊頁面被修改時以秒爲單位發射。可能需要實施一些延遲。

+0

謝謝@serg我已經厭倦了這一點,它的工作原理,但像你說的那樣,它不斷地發射事件:(我猜這可以'這很糟糕,因爲我要麼爲我的用戶做一個按鈕來重新加載擴展名,要麼讓他們點擊瀏覽器重新加載按鈕。無論如何,謝謝 –

+0

@Garth你能更詳細地描述你的擴展功能嗎,你尋找什麼類型的ajax請求(某些特定的或任何?)以及爲什麼你的擴展應該重新加載?延遲工作DOMSubtreeModified? – serg

+0

爲什麼我不能只使用jQuery並附加監聽器? – Setheron

相關問題