jquery - Firefox 插件和 document.ready

标签 jquery firefox plugins

我正在尝试开发一个 Firefox 插件,每当加载页面时都应该执行该插件。有人可以告诉我要使用哪个事件吗?在 Firefox 中,当我打开一个新窗口时, document.ready 会被执行,而当我打开一个新选项卡时,它不会被执行:(。 任何帮助表示赞赏。 谢谢

最佳答案

最初我是卡在DOMContentLoaded上的,但这花费了太长时间,因为直到 Firefox 加载页面及其任何 iframe 的 DOM 树后才会触发。

Load同样很慢,因为它需要完全加载页面及其所有图像。

最终,在完成这些操作并为 nsIWebProgressListener.onLocationChange 设置 XPCOM 后和其他一些,我最终选择了 DOMTitleChanged像这样:

appcontent.addEventListener("DOMTitleChanged", events.onPageLoad, true);

(请注意,即使 HTML 页面没有 DOMTitleChanged 属性,或者具有与上一页相同的 <title> 属性,<title> 似乎也会触发。)

我不记得 100% 为什么我选择 DOMTitleChanged但我相信这是因为它最适合我的需求——基本上,这是获取用户导航 URL 的最快方法,无需等待任何内容加载,同时以各种可能的方式加载新页面。 .新选项卡、页面更改以及其他所有内容。

唯一的问题是您需要添加代码来手动查找附加组件的覆盖启动代码中的 URL,除非您 addEventListener()在 FF 开始在新窗口上加载第一页之前,您添加事件监听器的时间可能太晚,无法可靠地捕获初始页面加载。 (这是因为每次 Firefox 打开新窗口时都会加载附加组件的新的独立实例。)

关于jquery - Firefox 插件和 document.ready,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/732629/

相关文章:

javascript - 检查元素上是否存在事件

javascript - 如果任何地方有 "return"语句,Firefox 插件的内容脚本将不会运行

css - 全局停用 CSS “user-select”

使用 Dockerfile 预装插件的 WordPress 图像

jquery - 如何禁止将大文件添加到文件输入

javascript - 使用 JS/jQuery 闪烁通知/确认

javascript - JS直接访问Concat方法

javascript - 从 jQuery 插件返回 true 或 false

c++ - 插件中的 UActorComponent 派生类对函数调用没有反应

javascript - 从json中获取具体数据