如题,我的JS有如下一个函数
function my_sum(){
......
return a;
};
现在我需要做一个按钮,把a的值保存到txt并下载
如何插入按钮我知道
但是该怎么下载呢?
js本身不能写入本地文件,除非借助 activex,比如scropting.fso,但是那样只有ie浏览器可以用
或者把内容传到后台生成txt再下载
往后台传吧,然后写入到txt
你不考虑ie可以用data协议进行数据导出,但是需要将数据编码为base64,你可以下载这个类库:javascript base64编码解码
不过不能指定文件名,你要指定文件名通过连接+download属性来弄
<script src="http://www.w3dev.cn/demo/base64.js" charset="utf-8"></script>
<a href="" id="aDL" download="mytext.txt">点击下载txt文件</a>
<script>
function downLoadText(s) {
document.getElementById('aDL').href = 'data:text/plain;base64,' + Base64.encode(s)
// location = 'data:text/plain;base64,' + Base64.encode(s);//直接保存
}
downLoadText('text的内容。。。。')
</script>
兼容其他浏览器需要发送数据到服务器,服务器设置content-disposition响应头为attachment后输出你那个内容进行
最简单的方法就是把内容传到后台生成txt再下载