使用JavaScript创建文本文件

问题描述 投票:8回答:3

我正在尝试使用JavaScript创建文本文件,我知道可以通过使用ActiveX对象来实现,但是它只能在IE浏览器上很好地运行。

我的要求是使用Safari浏览器的JavaScript生成文本文件?

有人可以在这方面帮助我吗?

javascript file browser safari
3个回答
12
投票

另一种方法是使用BlobBlob。所有最新的浏览器(包括Safari 6+)都支持它们。

URL.createObjectURL

这里是URL.createObjectURL,使用此技术从var textFile = null, makeTextFile = function (text) { var data = new Blob([text], {type: 'text/plain'}); // If we are replacing a previously generated file we need to // manually revoke the object URL to avoid memory leaks. if (textFile !== null) { window.URL.revokeObjectURL(textFile); } textFile = window.URL.createObjectURL(data); // returns a URL you can use as a href return textFile; }; 保存任意文本。

关于示例的另一点注意事项是,我在下载链接上使用了example。不幸的是,Safari当前不支持它。但是,在具有此功能的浏览器中,单击该文件将自动下载文件,而不是在浏览器中打开文件。另外,由于我将textarea属性设置为download attribute,因此文件将使用该名称下载,而不是download生成的随机名称。


8
投票

在JavaScript中,您可以使用以下行来要求用户保存文本文件:

download

我曾在一些流行的浏览器中对其进行过测试,以确保它可以在Safari中正常工作。


-2
投票

但我的要求是使用javascript生成一个文本文件Safari浏览器

由于安全限制,香草JavaScript无法实现。但是,您可以使用服务器端JavaScript,例如Node.JS或Ajax或其他一些服务器端技术。

© www.soinside.com 2019 - 2024. All rights reserved.