这是我使用addon-builder [builder.addons.mozilla.org/]开发的第一个Firefox扩展。
我的问题很简单,但在尝试了许多事情后,很多天,我都无法得到结果。
我想知道:如何将文件下载添加到Firefox下载程序?
我有一个网址: http:// example.com/file.zip ,文件位置如下: D:\ myFolder 。 我想通过我的firefox扩展程序添加此下载。
我搜索的内容是:
https://developer.mozilla.org/en-US/docs/Code_snippets/Downloading_Files
Components.utils.import("resource://gre/modules/PrivateBrowsingUtils.jsm");
const WebBrowserPersist = Components.Constructor("@mozilla.org/embedding/browser/nsWebBrowserPersist;1",
"nsIWebBrowserPersist");
var persist = WebBrowserPersist();
var targetFile = Services.dirsvc.get("Desk", Ci.nsIFile);
targetFile.append("file.bin");
// Obtain the privacy context of the browser window that the URL
// we are downloading comes from. If, and only if, the URL is not
// related to a window, null should be used instead.
var privacy = PrivateBrowsingUtils.privacyContextFromWindow(urlSourceWindow);
persist.persistFlags = persist.PERSIST_FLAGS_FROM_CACHE
| persist.PERSIST_FLAGS_REPLACE_EXISTING_FILES;
persist.saveURI(uriToSave, null, null, null, "", targetFile, privacy);
您是否可以从我应该获得最简单的下载功能开始。
答案 0 :(得分:1)
Components.utils.import("resource://gre/modules/Services.jsm");
var {downloads}=Services;
downloads.addDownload(/*parameters*/); //see documentation for parameters.
addDownload的文档:nsIDownloadManager#addDownload()
Services.jsm提供的各种服务的文档和目录:Services.jsm