3

我有一个大而复杂的基于 XUL 的插件,我需要使用插件 SDK 中的一些功能。这可能吗?如果是这样,是否有人有工作示例代码,最好使用 page-worker 模块?

4

1 回答 1

4

以下是 devtools 执行此操作的方式,但某些模块会阻塞(明显的候选模块是self)。我认为使用低级模块会更好。

let {Loader} = Cu.import("resource://gre/modules/commonjs/toolkit/loader.js", {});
let loader = new Loader.Loader({
  paths: {
    "": "resource://gre/modules/commonjs/"
  },
  globals: {},
});

let require = Loader.Require(loader, { id: "myaddon" })
// now you can require addon-sdk modules
于 2013-09-06T13:51:35.893 回答