javascript - 如何在 Firefox 中访问 Jetpack 内置扩展的后台页面?

标签 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 的 list v2。在那里,可以包括 background scriptscontent scripts (实际上称为“激活”)。

我推测 Firefox 构建器使用了这个 addon-sdk (喷气背包?)。与 IE 和 Chrome 不同,Firefox 生成器抛弃了 background.js 页面,并且似乎根本不使用 forge.html 页面,即使它存在于扩展代码中。 放在 config.json 中的 background.js 中的 alert() 似乎不起作用。

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

这里要包含的文件太多,所以我有 uploaded带有 .xpi 文件的开发文件夹。

最佳答案

快速调查显示以下内容

  • Firefox 上的 Forge 后台脚本实现为 PageWorker脚本。 PageWorker 脚本在隐藏页面上运行。此细节的结果是 alert() 失败。

  • alert 调用失败并显示一条错误消息(对于初学者来说相当神秘)

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

因此,您的后台脚本运行得很好。这个框架没有兑现其跨浏览器的 promise 。

关于javascript - 如何在 Firefox 中访问 Jetpack 内置扩展的后台页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22431193/

相关文章:

javascript - 将按钮背景颜色保存在 localStorage 中

javascript - 以不可检测/不可逆的方式更改 Window.prototype.open

javascript - 对 Firefox 扩展进行逆向工程

javascript - 在页面上使用 jQuery UI 控件的多个实例时出现问题。 Accordion 控件的多种用途

javascript - 获取部分JS对象

javascript - 在使用 Bootstrap 标签输入将其转换为标签之前处理标签

javascript - 有没有更简单的方法从 firefox 或 chrome 的开发者控制台查看 json 对象?

html - CSS 在文本区域中的所有初始中断 firefox 换行符

javascript - 音频标签在 chrome 中有效,但在 Firefox 中无效

firefox - 如何在 Firefox 扩展中实现消息传递?