gecko-dev/devtools/client/shared/file-saver.js

31 строка
950 B
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* eslint-env browser */
"use strict";
/**
* HTML5 file saver to provide a standard download interface with a "Save As"
* dialog
*
* @param {object} blob - A blob object will be downloaded
* @param {string} filename - Given a file name which will display in "Save As" dialog
* @param {object} document - Optional. A HTML document for creating a temporary anchor
* for triggering a file download.
*/
function saveAs(blob, filename = "", doc = document) {
let url = URL.createObjectURL(blob);
let a = doc.createElement("a");
doc.body.appendChild(a);
a.style = "display: none";
a.href = url;
a.download = filename;
a.click();
URL.revokeObjectURL(url);
a.remove();
}
exports.saveAs = saveAs;