首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >火狐插件Downloads.jsm

火狐插件Downloads.jsm
EN

Stack Overflow用户
提问于 2013-08-12 19:49:46
回答 1查看 1.5K关注 0票数 5

我正在尝试在jetpack插件中使用火狐的Downloads.jsm库(它在Firefox23中是新的)。

代码语言:javascript
运行
复制
var {Cu} = require("chrome"); //works fine
const {Downloads} = Cu.import("resource://gre/modules/Downloads.jsm"); //works fine

但是,执行这两种功能都没有效果:

代码语言:javascript
运行
复制
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/下载

你知道如何使用这些功能吗?我还没有在网上找到任何例子

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-12 20:14:17

API函数返回一个承诺,而不是实际的下载对象。

简言之,以下几点应能发挥作用:

代码语言:javascript
运行
复制
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();
});

阅读承诺,并使处理他们更有趣,也是Task.jsm

API最近确实发生了很大的变化;文档中记录的是当前的Aurora-25或更高版本的API。“旧”API被记录在来源中。

在这个要旨中有一个更完整的例子,它支持Firefox <25。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18195513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档