37 lines
1.3 KiB
JavaScript
37 lines
1.3 KiB
JavaScript
const EXT_NAME = "DataExtracter";
|
|
const ACTION_EXTRACT = `${EXT_NAME}:Extract`;
|
|
const ACTION_GOTO_URL = `${EXT_NAME}:GoToTUL`;
|
|
const ACTION_REPORT_IN = `${EXT_NAME}:ReportIn`;
|
|
const ACTION_QUERY_URL = `${EXT_NAME}:QueryURL`;
|
|
|
|
function saveFile(data, mimeType, fileName) {
|
|
fileName = fileName || document.title || "result";
|
|
var blob;
|
|
if (typeof window.Blob == "function") {
|
|
blob = new Blob([data], {
|
|
type: mimeType
|
|
})
|
|
} else {
|
|
var BlobBuiler = window.BlobBuilder || window.MozBlobBuilder || window.WebKitBlobBuilder || window.MSBlobBuilder;
|
|
var builer = new BlobBuiler();
|
|
builer.append(data);
|
|
blob = builer.getBlob(mimeType)
|
|
}
|
|
var URL = window.URL || window.webkitURL;
|
|
var url = URL.createObjectURL(blob);
|
|
var link = document.createElement("a");
|
|
if ('download' in link) {
|
|
link.style.visibility = "hidden";
|
|
link.href = url;
|
|
link.download = fileName;
|
|
document.body.appendChild(link);
|
|
var j = document.createEvent("MouseEvents");
|
|
j.initEvent("click", true, true);
|
|
link.dispatchEvent(j);
|
|
document.body.removeChild(link)
|
|
} else if (navigator.msSaveBlob) {
|
|
navigator.msSaveBlob(blob, fileName)
|
|
} else {
|
|
location.href = url
|
|
}
|
|
} |