5

是否有允许将字符串保存为 txt 文件并跨浏览器工作的 JavaScript 库?

过去,我一直在使用 Downloadify,但出于以下几个原因,我正在寻找另一种选择:

  • 我希望找到一个纯 JavaScript 的解决方案,不需要 Flash
  • Downloadify 似乎不再更新(过去 18 个月内没有更新)
  • 我在 IE 9 中遇到了 Downloadify 的问题,其中字符串被截断
4

2 回答 2

8

这是你需要的。但它还不是跨浏览器。在谷歌浏览器中工作。

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

维基百科也有一篇关于数据 URI 的好文章

于 2012-02-27T11:24:51.057 回答
6

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

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

这里有两个问题:

  • 它在 MSIE 中不起作用,因为它对 data: URLs 的支持非常有限(可能是出于安全原因)。所以你仍然需要在那里下载。
  • 您不能指定文件名,建议的文件名将取决于所使用的浏览器。并且文件类型将是“未知”(您不能使用已知的 MIME 类型,因为浏览器不会提供下载文件)。

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

于 2011-06-24T09:15:37.560 回答