1

我正在创建一个需要从某个URL加载正则表达式列表的Firefox扩展。但是,如果每次用户加载一个页面时都会调用这个页面,那么对于服务器来说就太痛苦了。所以,我希望程序在用户每次启动Firefox时运行一次。如何检测firefox扩展中的firefox启动事件?

我发现这个解决方案:

How to detect first loading of NPAPI plugin/Extension in firefox and chrome

但它有一个缺点。如果Firefox启动多个选项卡,它将无法工作(gBrowser.browsers.length不具有“1”作为值)

那么,我该怎么办?

回答

2

你从哪里读到每次用户加载页面时都会执行扩展代码?默认情况下,Firefox扩展的代码只能运行在

  • 安装
  • 使
  • 启动
  • 升级
  • 降级

所以,只要在main.js请求和你应该没问题。

如果你真的想要列表仅在启动时加载(这听起来并不像你真正想要的),然后添加一行

if (require("sdk/self").loadReason==='startup') loadRegexs()