2011-06-24 22 views
5

是否有JavaScript库允许将字符串保存为txt文件,并且可以跨浏览器使用?跨浏览器另存为.txt

在过去,我一直在使用Downloadify,但我期待在另一种选择几个原因:

  • 我希望找到一个纯JavaScript的解决方案,而无需对Flash
  • 它似乎Downloadify没有更新了 (没有在过去18个月更新)
  • 我遇到了Downloadify的问题在IE 9,其中字符串被切断
+1

简短的回答:没有。较长的答案:插件,签订的JavaScript。跨浏览器:没有闪光灯 – mplungjan

回答

6

据我所知,唯一的方法是使用数据:URL来强制下载:

var data = "This is a test"; 
window.location.href = "data:application/x-download;charset=utf-8," + encodeURIComponent(data); 

两个卡口位置:

  • 它不会在MSIE工作,因为它支持数据:网址是非常有限的(据说for security reasons)。所以你仍然需要在那里下载。
  • 您无法指定文件名,建议的文件名取决于所使用的浏览器。和文件类型将是“未知”(你不能使用已知的MIME类型,因为浏览器不会提供下载文件)。

额外阅读:2010年2月W3D讨论了修复第二个问题:http://lists.w3.org/Archives/Public/uri/2010Feb/thread.html#msg58。但是,目前为止,这似乎没有成为任何规范,更不用说浏览器实现了。

8

Here is你需要什么。但它还没有跨浏览器。适用于Google Chrome。

<a download="MyFile.txt" 
    href="your-data-uri-here" 
    draggable="true" 
    class="dragout" 
>Download ready</a> 

而且维基百科有一个很好的article about Data URI