我是Firefox插件系统的新用户。我想创建一个插件,下载多个文件,然后打开它们进行练习。
我的问题是,是否有办法从插件中的Internet下载文件。我知道os.file的存在(虽然我不容易理解如何从提供的示例中使用它)。接下来我想知道是否有办法使用默认程序执行该文件。
答案 0 :(得分:1)
从Firefox 26开始,在Add-on SDK,restartless / bootstrap或基于overlay的扩展中,从附加组件中下载文件的最合适方式是使用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 的回答。