我正在编写一个 Firefox 扩展,它正在做两件事(对于这个问题的上下文):
- 注册某些 DOM 事件,即
DOMContentLoaded
和DOMFrameContentLoaded
. - 在事件的回调中,访问 DOM API 并执行某些操作。
扩展获取第一个事件(DOMContentLoaded
或DOMFrameContentLoaded
),回调函数调用一些 DOM API。我观察到,在调用从 DOM API 调用返回到我的扩展之前,另一个事件触发并且我的回调函数被调用(我无法缩小哪个特定的 DOM API,因为我的扩展调用了一堆 DOM蜜蜂)。
这甚至可能吗?顺便说一句,我在 Windows 上使用 Firefox 12。我正在打印threadManager.isMainThread
, 并且在这两种情况下,都在主线程上调用事件回调。
任何指针将不胜感激。