是\n在Javascript中所有平台的通用换行字符序列?如果没有,我如何确定当前环境的字符?
我不是在询问HTML换行元素(<BR/>).我问的是JavaScript字符串中使用的换行符字符序列.
System.getProperty("line.separator");在JavaScript中是否存在类似于Java的东西?
编辑:我使用的是非浏览器JavaScript环境Node.js
几年前,我为我的一个Firefox附加组件编写了以下函数,这有助于我获得一个特定于平台的换行符:
GetNewLine: function()
{
var platform = navigator.platform.toLowerCase();
if(platform.indexOf('win') != -1) // Windows
return "\r\n";
else if(platform.indexOf('mac') != -1) // Mac
return "\r";
else // *nix
return "\n";
}
Run Code Online (Sandbox Code Playgroud)
这似乎工作正常,但在阅读换行维基百科的文章后,我注意到最近的Apple操作系统(OS X及更高版本)现在使用UNIX样式\n行结尾.因此,我的小功能可能会为这种情况返回错误的东西(我没有Mac OS可以测试它).
有没有办法让Firefox告诉我特定于平台的换行符是什么?也许是某种内置的实用功能?我在我的扩展程序写入的文本文件中使用这些换行符,并且我想使用特定于平台的文件,以便文件在各种系统中看起来合适.
更新(2-13-2013):因此,navigator.platform.toLowerCase()在Mac-mini(OS X)上运行函数调用时,我得到输出值macintel.这将导致我的函数返回\r而不是\n应该返回.