在附加组件和内容中使用相同的文件

时间:2013-08-01 07:52:08

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

我有一个脚本,我想在双方,附加方和内容方面使用。问题是内容和附加脚本分别驻留在不同的文件夹中(分别是数据和库)。

如何从lib访问数据脚本,反之亦然?

2 个答案:

答案 0 :(得分:3)

这几乎与How to reference a JavaScript file in Lib from an HTML file in Data?中提出的问题相同,所以我只想改写我在那里给出的答案。

将文件放入/lib/文件夹,然后通过以下方式获取文件的资源:

var url=require("sdk/self").data.url("../lib/shared-file.js");

获得此网址后,您可以通过contentScriptFile参数将其附加到标签页或弹出窗口。

注意:您需要检查当前所在的环境,以确定是否需要添加对exports对象的任何引用,以使其可以从插件中访问。

if(typeof(exports)!="undefined"){
  exports.something=function(){...};
}

答案 1 :(得分:0)

你问的最有可能是不可能的。即使是这样,考虑到插件和内容代码的细致分离,它也需要大量的黑客攻击。

但是根据你的代码所做的事情(数字运算?)也许你可以利用Workers。