我需要找到替代“msSaveOrOpenBlob ",适用于 IE,适用于 Firefox 和 Chrome。特别是在 Chrome 上,它不起作用,并且不显示用于选择保存或打开文件的对话框。
你能建议我如何打开对话框让用户选择是要保存还是打开文件?
我实际上使用的是 Angular 6。
最佳答案
另一个SO response中提到,您需要测试浏览器类型并使用正确的 API:
var download_csv_using_blob = function (file_name, content) {
var csvData = new Blob([content], { type: 'text/csv' });
if (window.navigator && window.navigator.msSaveOrOpenBlob) { // for IE
window.navigator.msSaveOrOpenBlob(csvData, file_name);
} else { // for Non-IE (chrome, firefox etc.)
var a = document.createElement("a");
document.body.appendChild(a);
a.style = "display: none";
var csvUrl = URL.createObjectURL(csvData);
a.href = csvUrl;
a.download = file_name;
a.click();
URL.revokeObjectURL(a.href)
a.remove();
}
};
或另见 SO .
关于javascript - Chrome 上 msSaveOrOpenBlob 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61203503/