Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firefox addon firefox代码模块组件.utils.import_Firefox Addon - Fatal编程技术网

Firefox addon firefox代码模块组件.utils.import

Firefox addon firefox代码模块组件.utils.import,firefox-addon,Firefox Addon,有人知道使用Components.utils.import加载自定义代码模块的example/sample.xpi文件吗?我不能让它工作。基本上,当我打包到一个.jar文件时,我无法让它工作。这是使用代码模块的限制吗 一个示例将非常有用,可能有下面的代码 var EXPORTED_SYMBOLS = ["foo", "bar"]; function foo() { return "foo"; } var bar = { name : "bar", size : 3 }; 已经过

有人知道使用Components.utils.import加载自定义代码模块的example/sample.xpi文件吗?我不能让它工作。基本上,当我打包到一个.jar文件时,我无法让它工作。这是使用代码模块的限制吗

一个示例将非常有用,可能有下面的代码

var EXPORTED_SYMBOLS = ["foo", "bar"];

function foo() {
  return "foo";
}

var bar = {
  name : "bar",
  size : 3
};

已经过去了一段时间,但现在您已经:

// modules/module.jsm file
var EXPORTED_SYMBOLS = ["myUniqueCode"];

// wrap your code
var myUniqueCode = {
    foo : function() {
        return "foo";
    },
    bar : {
        name : "bar",
        size : 3
    }
}

// load module where you need it
Components.utils.import("resource://your_addon_name/module.jsm"); 

// use myUniqueCode.foo()
正如@felix kling所建议的:

// add to your chrome.manifest file
resource    your_addon_name     modules/

如何加载模块?您是否相应地设置了chrome.manifest?我使用的是FF 4.0,因此我使用chrome url加载模块。如果不将插件打包到jar文件中,我可以很好地加载模块。即使在打包之后,当我输入url时chrome://myaddon/content/module.jsm,该文件在浏览器中可以正常打开。所以问题就在于进口和包装。事实上,我也尝试了chrome.manifest资源方法,但没有成功。我可以从url打开资源文件,但无法导入。