我是 Firefox 插件系统的新用户。我想创建一个插件,可以在一个 que 中下载多个文件,然后打开它们进行练习。
我的问题是是否有办法在插件中从 Internet 下载文件。我知道 os.file 的存在(尽管从提供的示例中理解如何使用它对我来说并不容易)。接下来我想知道是否有一种方法可以使用默认程序执行文件。
我是 Firefox 插件系统的新用户。我想创建一个插件,可以在一个 que 中下载多个文件,然后打开它们进行练习。
我的问题是是否有办法在插件中从 Internet 下载文件。我知道 os.file 的存在(尽管从提供的示例中理解如何使用它对我来说并不容易)。接下来我想知道是否有一种方法可以使用默认程序执行文件。
从 Firefox 26 开始,在附加组件 SDK、restartless/bootstrap 或基于覆盖的扩展中,从附加组件中下载文件的最合适方法是使用Downloads.jsm JavaScript 代码模块。
从 MDN Downloads.jsm页面下载到本地文件示例:
Components.utils.import("resource://gre/modules/Downloads.jsm");
Components.utils.import("resource://gre/modules/osfile.jsm")
Components.utils.import("resource://gre/modules/Task.jsm");
Task.spawn(function () {
yield Downloads.fetch("http://www.mozilla.org/",
OS.Path.join(OS.Constants.Path.tmpDir,
"example-download.html"));
console.log("example-download.html has been downloaded.");
}).then(null, Components.utils.reportError);
如果您想像用户启动它一样启动下载,那么您应该看到我对如何从插件启动正常下载的回答。