gInitialPages未定义引导扩展

时间:2015-02-22 15:46:25

标签: javascript firefox-addon firefox-addon-restartless

我正在处理覆盖新标签页的Firefox扩展程序,我需要在地址栏中隐藏我的网页网址。我使用这段代码:

if (gInitialPages.indexOf(NEW_TAB_URL)===-1)  gInitialPages.push(NEW_TAB_URL);

它在XUL Overlay代码中正常工作,但是当我尝试使应用程序无法重启并将此代码移至bootstrap.js时,我收到错误:

  

未定义gInitialPages

那么,如何在引导扩展中使用gInitialPages(或类似的东西)?

1 个答案:

答案 0 :(得分:1)

Bootstrapped / restartless扩展不会在(a)窗口的上下文中自动运行。 bootstrap.js在自己的上下文中运行,每个应用程序实例只运行一次,而不是在浏览器窗口中运行。

你需要:

  • 手动枚举所有现有的浏览器窗口。
  • 在打开新浏览器窗口时监听。

然后在那些窗口中操纵变量。

请参阅Mardak's example,了解如何做到这一点,特别是watchWindowsunload