1

我正在尝试为 Firefox Mobile 编写一个简单的小插件,从这个骨架开始。最终,我想对每个加载的新页面运行一些代码,这似乎最好通过向每个新选项卡添加一个“DOMContentLoaded”侦听器来完成,该侦听器在该选项卡加载新页面时触发。为此,我需要检测新选项卡,这显然是通过向BrowserApp 的面板添加“TabOpen”侦听器来完成的。

问题:在启动时(但不是在安装到已加载的会话时),window.BrowserApp.deck唯一窗口为空。文档很少,似乎并不表明这是可能的。

要自己测试,请下载上面链接的骨架并添加

window.NativeWindow.toast.show(window.BrowserApp, "long");

在 bootstrap.js 的第 48 行下方,然后在 Mobile Firefox 上构建、安装并重新启动。您将看到一个 toast 报告 BrowserApp 的属性,包括“deck: null”。(我目前还在我的服务器上托管您将获得的扩展程序的副本,测试起来要快得多:只需将您的 Mobile Firefox 浏览器指向该链接,安装并重新启动。)

是什么赋予了?我误读了什么吗?有没有更好的方法来做我想做的事情而不会遇到这个问题?某处是否有更广泛的文档?

4

1 回答 1

1

等待UIReady事件。

window.addEventListener("UIReady", function(){your code}, false);
于 2012-11-14T22:29:56.017 回答