直接回答:导出内容用 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);
|
这篇笔记整理自我自己的实践记录,如果做法有出入,或者你踩过别的坑,欢迎到留言板一起聊聊。