我想开发一个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. 火狐插件/ JavaScript的setTimeout的问题
- 3. 火狐插件下划线知发布
- 4. 在火狐插件中使用jQuery
- 5. 火狐插件为http请求
- 6. 用火狐插件封锁JS
- 7. 火狐插件tabs.activeTab是不确定
- 8. 排除火狐的Live HTTP Headers插件
- 9. 火狐插件忽略I帧
- 10. 火狐startScroll和sendAsyncMessage
- 11. 火狐onclick事件
- 12. 访问火狐插件下载地址和下载事件
- 13. 火狐 - 局部修改插件和强制性唱歌
- 14. 口音,网址和火狐
- 15. html5视频和火狐
- 16. ckeditor慢火狐
- 17. 点 - 点火狐
- 18. 火狐缓存
- 19. httpsessionstate在火狐
- 20. 火狐window.parent.location
- 21. 火狐刷新
- 22. 拉文::火狐
- 23. 火狐obj.style.hasOwnProperty
- 24. 火狐:日志
- 25. 角2 - 火狐
- 26. CSS不mozila火狐
- 27. 按键为火狐
- 28. Paypal结帐火狐
- 29. 火狐回发出
- 30. 降级火狐8