用JavaScript创建文本文件

nag*_*dra 8 javascript browser safari file

我正在尝试使用JavaScript创建一个文本文件,我知道它可以通过使用ActiveX对象,但它只能在IE浏览器上运行良好.

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

谁可以在这方面帮助我?

Use*_*ode 12

另一种方法是使用BlobURL.createObjectURL.所有最近的浏览器,包括Safari 6+都支持它们.

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;
  };
Run Code Online (Sandbox Code Playgroud)

这是一个使用此技术保存任意文本的示例textarea.

关于该示例的另一个注意事项是我在下载链接上使用了该download属性.不幸的是,Safari目前不支持它.但是在浏览器中,单击时会自动下载文件,而不是在浏览器中打开文件.此外,由于我将该download属性设置info.txt为该文件将使用该名称而不是由其生成的随机名称下载createObjectURL.


Ami*_*mit 8

在JavaScript中你可以使用以下行来询问用户保存文本文件,

window.open("data:text/json;charset=utf-8," + escape("Ur String Object goes here"));

我曾经在一些流行的浏览器中对此进行了测试...确保它在Safari中运行或不运行.祝你好运


Sar*_*raz -4

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

由于安全限制,这对于普通 JavaScript 来说是不可能的。但是,您可以使用服务器端 JavaScript,例如 Node.JS 或 Ajax 或其他一些服务器端技术。