【发布时间】:2013-01-24 18:32:43
【问题描述】:
几年前,我为我的一个 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";
}
这似乎工作正常,但在阅读newline Wikipedia article 时,我注意到最近的Apple 操作系统(OS X 及更高版本)现在使用UNIX 样式\n 行结尾。因此,我的小函数可能会针对这种情况返回错误的内容(我没有可以测试它的 Mac OS)。
有没有办法让 Firefox 告诉我特定于平台的换行符是什么?也许是某种内置的实用功能?我在我的扩展程序编写的文本文件中使用这些换行符,并且我想使用特定于平台的换行符,以便文件在各种系统中看起来都合适。
更新(2013 年 2 月 13 日): 因此,在 Mac-mini (OS X) 上运行 navigator.platform.toLowerCase() 函数调用时,我得到了输出值 macintel。这将导致我的函数返回 \r 而不是应有的 \n。
【问题讨论】:
-
不是我的答案,而是一个聪明的答案:stackoverflow.com/a/1156388/1883464
-
有一个 API (nsLinebreakConverter.cppnsLinebreakConverter.h),但你可以看到它已经过时了,更重要的是它仅供内部使用。
标签: javascript firefox firefox-addon newline