要用a标签的download属性,下载一个txt的文件,文件内容是js下的字符串,然后本人用blob装成二进制流,在用URL.createObjectURL生成href地址。然后赋给a标签。但是每次遇到字符串中有中文,就会出现txt文本编码自动变成utf-8,本人想要的是ansi格式的txt文件。
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<script>
function downloadFile(fileName, content){
var aLink = document.createElement('a');
var blob = new Blob([content],{type:"text/bath;charset=gbk"});
var evt = document.createEvent("HTMLEvents");
evt.initEvent("click", false, false);//initEvent 不加后两个参数在FF下会报错, 感谢 Barret Lee 的反馈
aLink.download = fileName;
/* aLink.href ='data:text/bath;charset=gbk,'+encodeURI(content);*/
aLink.href =URL.createObjectURL(blob);
/* aLink.chartset="GBK";
aLink.hreflang="zh";*/
console.log(aLink.href);
aLink.dispatchEvent(evt);
}
var str ="dsaklfda你好吗";
downloadFile('lalala.bat',str)
</script>
</body>
</html>