直接回答:导出内容用 Blob 包住数据生成临时 URL,建一个带 download 属性的 a 标签手动触发 click 即可;记得用完之后 URL.revokeObjectURL 释放。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function fake_click(obj) {
const ev = document.createEvent('MouseEvents');
ev.initMouseEvent(
'click',
true,
false,
window,
0,
0,
0,
0,
0,
false,
false,
false,
false,
0,
null
);
obj.dispatchEvent(ev);
}

function export_raw(name, data) {
const urlObject = window.URL || window.webkitURL || window;

const export_blob = new Blob([data]);

const save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
save_link.href = urlObject.createObjectURL(export_blob);
save_link.download = name;
fake_click(save_link);
}

const txt ='这个就是保存的内容,下面的第一个参数就是保存的文件名';
export_raw('故障诊断结果', txt);

这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。

站内搜索

没有找到内容!