我正在使用trigger.io的开源浏览器扩展程序framework called forge构建扩展程序。您可以查看documentation here。文档相当不错,除了Firefox之外,一切似乎都很好用:我似乎无法获得一个background.js
脚本来表现它应该如何运行(就像它的行为方式一样)在Chrome中)
新创建的forge项目包含一个src
目录,该目录又包含config.json
,用于模仿Chrome的清单v2。在那里,可以包括background scripts和content scripts(实际上称为"激活")。
我猜测Firefox构建器使用了这个addon-sdk(Jetpack?)。与IE和Chrome不同,Firefox构建器会删除background.js页面,并且似乎根本不使用forge.html
页面,即使它存在于扩展代码中。
放置在alert()
中的background.js
config.json
似乎无法正常工作。
为什么忽略后台脚本?如何创建与Jetpack一起使用的后台脚本,以便我可以访问伪造的API以设置messaging等等?
此处包含的文件太多,因此我使用.xpi文件uploaded开发文件夹。
答案 0 :(得分:3)
快速调查显示以下内容
Firefox上的伪造背景脚本实现为PageWorker脚本。 PageWorker脚本在隐藏页面上运行。这个细节的结果是alert()
失败了。
alert
调用失败并显示错误消息(初学者非常神秘)
此时您可能需要检查浏览器控制台。如果您没有看到抱怨无法在隐藏窗口上调用openModalWindow的消息,则可能没有set the logging level。
所以,你的后台脚本运行得很好。它是不能实现跨浏览器承诺的框架。