首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跨浏览器保存为.txt

跨浏览器保存为.txt
EN

Stack Overflow用户
提问于 2011-06-24 07:43:52
回答 3查看 12.8K关注 0票数 5

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

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

  • 我希望找到一个纯粹的JavaScript解决方案,而不需要闪存。
  • Downloadify似乎不再更新(在过去的18个月中没有更新)
  • 我在IE9中遇到了Downloadify的问题,在这里字符串被切断。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-24 09:15:37

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

代码语言:javascript
复制
var data = "This is a test";
window.location.href = "data:application/x-download;charset=utf-8," + encodeURIComponent(data);

这里有两个渔获物:

  • 它不能在MSIE中工作,因为它对数据的支持非常有限(据说是出于安全原因)。所以你仍然需要唐洛阿迪。
  • 不能指定文件名,建议的文件名将取决于所使用的浏览器。而且文件类型将是“未知的”(您不能使用已知的MIME类型,因为浏览器那时不会提供下载文件)。

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

票数 6
EN

Stack Overflow用户

发布于 2012-02-27 11:24:51

这是你需要什么。但还不是跨浏览器的。在谷歌Chrome上工作。

代码语言:javascript
复制
<a download="MyFile.txt" 
   href="your-data-uri-here"
   draggable="true" 
   class="dragout"
>Download ready</a>

而且维基百科有一个很好的关于数据URI的文章

票数 8
EN

Stack Overflow用户

发布于 2022-08-07 14:26:03

FileSaver API兼容跨浏览器。

代码语言:javascript
复制
var text = "Hello, world!";
var blob = new Blob([text], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "filename.txt");
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6464828

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档