Phương pháp sau hoạt động trong IE11 +, Firefox 25+ và Chrome 30+:
<a id="export" class="myButton" download="" href="#">export</a>
<script>
function createDownloadLink(anchorSelector, str, fileName){
if(window.navigator.msSaveOrOpenBlob) {
var fileData = [str];
blobObject = new Blob(fileData);
$(anchorSelector).click(function(){
window.navigator.msSaveOrOpenBlob(blobObject, fileName);
});
} else {
var url = "data:text/plain;charset=utf-8," + encodeURIComponent(str);
$(anchorSelector).attr("download", fileName);
$(anchorSelector).attr("href", url);
}
}
$(function () {
var str = "hi,file";
createDownloadLink("#export",str,"file.txt");
});
</script>
Xem điều này trong hành động: http://jsfiddle.net/Kg7eA/
Firefox và Chrome hỗ trợ URI dữ liệu để điều hướng, cho phép chúng tôi tạo tệp bằng cách điều hướng đến URI dữ liệu, trong khi IE không hỗ trợ cho mục đích bảo mật.
Mặt khác, IE có API để lưu một blob, có thể được sử dụng để tạo và tải xuống các tệp.