今天要做一個數據下載到本地保存為txt文件,一開始網上找了很多例子,大部分都是用的ActiveXObject對象,但是粘貼到本地測試就報錯,后來才發現這個只兼容IE。后來又搜索了半天才得到解決,現在我就把解決辦法給大家分享一下。
首先HTML結構使用最簡單的結構:
<textarea name="" id="text" cols="30" rows="10">這里輸入的數據將保存為txt中</textarea>
<button id="save" type="button">保存</button>
然后JS:
document.querySelector('#save').addEventListener('click', saveFile);
function fakeClick(obj) {
var 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 exportRaw(name, data) {
var urlObject = window.URL || window.webkitURL || window;
var export_blob = new Blob([data]);
var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a")
save_link.href = urlObject.createObjectURL(export_blob);
save_link.download = name;
fakeClick(save_link);
}
function saveFile(){
var inValue = document.querySelector('#text').value;
exportRaw('test.txt', inValue);
}
這樣就可以在點擊保存后將textarea中輸入的內容本地化為txt文件。
2018-10-12 11:56 武漢。