Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
'\n';在JavaScript中创建文本文件时被忽略?_Javascript - Fatal编程技术网

'\n';在JavaScript中创建文本文件时被忽略?

'\n';在JavaScript中创建文本文件时被忽略?,javascript,Javascript,我正在尝试创建一个文本文件,其中只有一个字符串(称为“摘要”)作为唯一的内容。摘要由许多不同的行组成,因此我经常使用“\n”。但是,创建的文本文件在一行中写入字符串。为什么“\n”会被忽略 这是我正在使用的函数: function writeToTxt(summary){ var fileType = "text/txt"; var fileName = Date.now()+".txt"; var blob = new Blob([summary], { type: fileT

我正在尝试创建一个文本文件,其中只有一个字符串(称为“摘要”)作为唯一的内容。摘要由许多不同的行组成,因此我经常使用“\n”。但是,创建的文本文件在一行中写入字符串。为什么“\n”会被忽略

这是我正在使用的函数:

 function writeToTxt(summary){
  var fileType = "text/txt";
  var fileName = Date.now()+".txt";

  var blob = new Blob([summary], { type: fileType });

  var a = document.createElement('a');
  a.download = fileName;
  a.href = URL.createObjectURL(blob);
  a.dataset.downloadurl = [fileType, a.download, a.href].join(':');
  a.style.display = "none";
  document.body.appendChild(a);
  a.click();
  document.body.removeChild(a);
  setTimeout(function() { URL.revokeObjectURL(a.href); }, 1500);
}

谢谢

您的文件创建代码很好,但是
\n
在Windows上不是换行符(它在*nix上)。如果您正在查看Windows上的文件,这可能就是您没有看到换行的原因。对于Windows,它是
\r\n


如果我使用
\r\n
,您的代码在Windows上运行正常,如果我只使用
\n
,您的代码在*nix上运行正常。(许多*nix工具也会处理
\r\n
行结束,因为周围有这么多像文本文件这样的窗口……

您的文件创建代码很好,但是
\n
不是窗口上的换行符(它是在*nix上)。如果您正在查看Windows上的文件,这可能就是您没有看到换行的原因。对于Windows,它是
\r\n


如果我使用
\r\n
,您的代码在Windows上运行正常,如果我只使用
\n
,您的代码在*nix上运行正常。(许多*nix工具也会处理
\r\n
行结束,因为周围有这么多像文本文件这样的窗口……

\n
是*nix上的换行符,而不是Windows上的换行符。如果您正在查看Windows上的文件,这可能就是您没有看到换行的原因。对于Windows,它是
\r\n
。是什么让您认为文件中没有换行符?您是如何打开它的?当然,您需要提供
\n
作为JavaScript字符串文本的一部分。任何其他内容(如从文本文件中读取)都无法对其进行解析。
\n
在*nix上是换行符,但在Windows上不是。如果您正在查看Windows上的文件,这可能就是您没有看到换行的原因。对于Windows,它是
\r\n
。是什么让您认为文件中没有换行符?您是如何打开它的?当然,您需要提供
\n
作为JavaScript字符串文本的一部分。任何其他内容(如从文本文件中读取)都无法对其进行分析。任何合适的编辑器都应该在Windows上以换行符的形式显示
\n
。@Bergi:是的。但是人们似乎经常用记事本来代替任何像样的编辑器都应该在Windows上以换行符的形式显示
\n
。@Bergi:是的。但是人们似乎经常用记事本来代替