如何在Firefox中访问Jetpack构建的扩展背景页面?

时间:2014-03-15 23:44:45

标签: javascript firefox firefox-addon firefox-addon-sdk trigger.io

我正在使用trigger.io的开源浏览器扩展程序framework called forge构建扩展程序。您可以查看documentation here。文档相当不错,除了Firefox之外,一切似乎都很好用:我似乎无法获得一个background.js脚本来表现它应该如何运行(就像它的行为方式一样)在Chrome中)

新创建的forge项目包含一个src目录,该目录又包含config.json,用于模仿Chrome的清单v2。在那里,可以包括background scriptscontent scripts(实际上称为"激活")。

我猜测Firefox构建器使用了这个addon-sdk(Jetpack?)。与IE和Chrome不同,Firefox构建器会删除background.js页面,并且似乎根本不使用forge.html页面,即使它存在于扩展代码中。 放置在alert()中的background.js config.json似乎无法正常工作。

为什么忽略后台脚本?如何创建与Jetpack一起使用的后台脚本,以便我可以访问伪造的API以设置messaging等等?

此处包含的文件太多,因此我使用.xpi文件uploaded开发文件夹。

1 个答案:

答案 0 :(得分:3)

快速调查显示以下内容

  • Firefox上的伪造背景脚本实现为PageWorker脚本。 PageWorker脚本在隐藏页面上运行。这个细节的结果是alert()失败了。

  • alert调用失败并显示错误消息(初学者非常神秘)

  • 此时您可能需要检查浏览器控制台。如果您没有看到抱怨无法在隐藏窗口上调用openModalWindow的消息,则可能没有set the logging level

所以,你的后台脚本运行得很好。它是不能实现跨浏览器承诺的框架。