如何在我的Firefox Jetpack Addon的后台脚本(不是内容脚本)中包含Jquery?

时间:2012-06-19 02:56:51

标签: jquery firefox-addon firefox-addon-sdk

我正在努力将Chrome扩展程序迁移到Firefox。在Chrome扩展程序中,后台脚本包含JQuery,它在整个后台脚本中用于AJAX。

使用Firefox Jetpack SDK,看起来我可以做到:

require("modulename")

但这只适用于modulename是firefox扩展模块,包括代码:

exports.someVar = someLocalVar

为了使模块功能在其他地方可用。显然,JQuery没有像这样设置模块,所以没有办法要求它。

有没有办法在我的Firefox插件后台的lib / main.js文件中包含JQuery,这样我可以在main()函数中访问JQuery?

1 个答案:

答案 0 :(得分:1)

自从张贴这篇文章以来,我已经认识到这是一种徒劳的尝试。正如Wladimir Palant在评论中指出的那样,JQuery旨在访问DOM。由于main.js文件没有窗口或文档对象,因此该功能完全没用。

我打算使用JQuery for AJAX,它可以在Chrome背景脚本中正常工作,但Firefox插件没有XMLHttpRequest对象,所以JQuery在这里也没用。正确的解决方案是使用firefox Request()API重写我的代码。

如果你想在CommonJS应用程序中包含JQuery,我发现这个项目,它将JQuery放入一个模块中,假定你已经定义了窗口,文档和XMLHttpRequest:https://github.com/jakobmattsson/commonjs-jquery