Cross-browser Save As .txt

后端 未结 2 395
不思量自难忘°
不思量自难忘° 2020-11-30 13:22

Is there a JavaScript library that allows to save strings as txt files, and works cross-browser?

In the past, I have been using Downloadify, but I am looking at anot

相关标签:
2条回答
  • 2020-11-30 13:33

    As far as I know, the only way is to use data: URLs to force a download:

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

    Two catches here:

    • It won't work in MSIE because its support of data: URLs is very limited (supposedly for security reasons). So you will still need Downloadify there.
    • You cannot specify a file name, the suggested file name will depend on the browser used. And file type will be "unknown" (you cannot use a known MIME type because the browser won't offer to download the file then).

    Bonus reading: there was a W3.org discussion in February 2010 on fixing the second problem: http://lists.w3.org/Archives/Public/uri/2010Feb/thread.html#msg58. However, this doesn't seem to have made it into any specification so far, let alone browser implementations.

    0 讨论(0)
  • 2020-11-30 13:33

    Here is what you need. But it's not cross-browser yet. Works in Google Chrome.

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

    Also Wikipedia has a good article about Data URI

    0 讨论(0)
提交回复
热议问题