Javascript下载字符串

Joe*_*vin 9 javascript

尝试在Javascript中启动浏览器下载,但我想要下载的数据是字符串,而不是文件.我知道如果它是一个文件,以下会这样做:

window.location.href = '/filepath/file.csv';
Run Code Online (Sandbox Code Playgroud)

如何才能获得相同的效果,只能使用字符串(使用csv数据),而不是服务器上已存在的文件?

dan*_*vis 17

使用我方便的下载器:

<script src="http://danml.com/js/download.js"></script>
<script>download("hello world", "hello.txt", "text/plain")</script>
Run Code Online (Sandbox Code Playgroud)

虽然我的"lib"不是很大并且支持较旧的FF + CH和IE10,但你可以在没有库的情况下完成它:

<a id=dl download="file.txt">Download</a>
<script>
content=prompt("enter contents");
dl.href="data:text/plain,"+encodeURIComponent(content);
dl.click();
</script>
Run Code Online (Sandbox Code Playgroud)

编辑:链接脚本现在支持window.URL.createObjectURL(),用于下载使用dataURL太大的文件.我不知道新的限制,但10mb工作只是文件,而~2mb是许多dataURL(window.open/A[download] - 基于)解决方案3的限制

  • 好吧,如果dom修改事件一起得到$#1t,我会用那些...... (2认同)