我想開發一個firefox插件,應該在每次頁面加載時執行。可以請某人告訴我使用它的是哪個事件。在Firefox中,當我打開一個新窗口的document.ready被執行,並沒有得到執行,當我打開一個新標籤:(。 任何幫助表示讚賞。 感謝火狐插件和document.ready
1
A
回答
3
本來我是掛鉤到DOMContentLoaded
,但這花了太長的時間,因爲直到Firefox加載頁面及其任何iframe的DOM樹後纔會觸發。
Load
同樣緩慢,因爲它需要頁面完全加載以及其所有圖像
最終,經過這些,以及爲nsIWebProgressListener.onLocationChange
和其他一些設置XPCOM,我ulti在DOMTitleChanged
三方共同解決這樣:
appcontent.addEventListener("DOMTitleChanged", events.onPageLoad, true);
(注:DOMTitleChanged
似乎火即使在HTML頁面沒有<title>
屬性,或具有相等<title>
到前一頁。)
我不不記得100%爲什麼我在DOMTitleChanged
上解決了這個問題,但我相信這是因爲它最適合我的需求 - 基本上,這是最快的方式,無需等待任何東西加載,同時觸發就可以獲得用戶導航的URL每一個可以想象的方式加載一個新的頁面...新標籤,頁面更改,以及其他所有。
唯一的問題是您需要添加代碼來手動查找您的加載項覆蓋啓動代碼中的URL,除非您在FF開始在新窗口中加載第一頁之前addEventListener()
,否則您將添加您的事件監聽器來不及可靠地捕獲初始頁面加載。 (這是因爲每次Firefox打開一個新窗口時都會加載一個新的,孤立的插件實例。)
相關問題
- 1. Soapui和火狐
- 2. 火狐插件忽略I幀
- 3. 火狐插件閃光兩次在YouTube
- 4. 火狐插件pageMod window.location的工作不
- 5. 火狐插件/ JavaScript的setTimeout的問題
- 6. 排除火狐的Live HTTP Headers插件
- 7. 火狐插件sdk同步請求
- 8. 火狐插件爲http請求
- 9. 火狐插件tabs.activeTab是不確定
- 10. 火狐插件無聲更新
- 11. 用火狐插件封鎖JS
- 12. 在火狐插件中使用jQuery
- 13. 火狐插件下劃線知發佈
- 14. 火狐startScroll和sendAsyncMessage
- 15. 火狐onclick事件
- 16. 訪問火狐插件下載地址和下載事件
- 17. 火狐 - 局部修改插件和強制性唱歌
- 18. 定義的JavaScript和火狐
- 19. html5視頻和火狐
- 20. 口音,網址和火狐
- 21. 火狐等待loadedmetadata事件
- 22. 排除文件或文件夾,而cfx xpi - 火狐插件sdk
- 23. 與火狐
- 24. 火狐緩存
- 25. ckeditor慢火狐
- 26. 火狐爲genymotion
- 27. 拉文::火狐
- 28. 角2 - 火狐
- 29. 懸停火狐
- 30. 火狐obj.style.hasOwnProperty