我正在尝试在jetpack插件中使用火狐的Downloads.jsm库(它在Firefox23中是新的)。
var {Cu} = require("chrome"); //works fine
const {Downloads} = Cu.import("resource://gre/modules/Downloads.jsm"); //works fine
但是,执行这两种功能都没有效果:
download = Downloads.createDownload({source: "http://cdn.sstatic.net", target: "/tmp/kaki.html"}); //download is an object but has no function "start"
Downloads.simpleDownload("http://cdn.sstatic.net","/tmp/kaki.html");
文档:模块/Downloads.jsm 模块/Downloads.jsm/下载
你知道如何使用这些功能吗?我还没有在网上找到任何例子
发布于 2013-08-12 20:14:17
API函数返回一个承诺,而不是实际的下载对象。
简言之,以下几点应能发挥作用:
const {Downloads} = Cu.import("resource://gre/modules/Downloads.jsm", {});
var downloadPromise = Downloads.createDownload({source: "http://cdn.sstatic.net", target: "/tmp/kaki.html"})
downloadPromise.then(function success(d) {
d.start();
});
API最近确实发生了很大的变化;文档中记录的是当前的Aurora-25或更高版本的API。“旧”API被记录在来源中。
在这个要旨中有一个更完整的例子,它支持Firefox <25。
https://stackoverflow.com/questions/18195513
复制相似问题