【问题标题】:Download and open Firefox下载并打开火狐
【发布时间】:2014-12-26 20:41:05
【问题描述】:
我是 Firefox 插件系统的新用户。我想创建一个插件,可以在一个que中下载多个文件,然后打开它们进行练习。
我的问题是是否有办法在插件中从 Internet 下载文件。我知道 os.file 的存在(尽管从提供的示例中理解如何使用它对我来说并不容易)。接下来我想知道是否有办法使用默认程序执行文件。
【问题讨论】:
标签:
firefox-addon
firefox-addon-sdk
firefox-addon-restartless
firefox-addon-bootstrap
firefox-addon-overlay
【解决方案1】:
从 Firefox 26 开始,在 Add-on 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);
如果您想像用户启动它一样启动下载,那么您应该看到我对 How to launch a normal download from an addon 的回答。