gpt4 book ai didi

javascript - 在 JavaScript 中获取特定于平台的换行符?

转载 作者:数据小太阳 更新时间:2023-10-29 05:30:17 26 4
gpt4 key购买 nike

几年前,我为我的一个 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 操作系统来测试它)。

有什么方法可以让 Firefox 告诉我平台特定的换行符是什么? 也许是某种内置的实用函数?我在我的扩展程序写入的文本文件中使用了这些换行符,并且我想使用特定于平台的换行符,以便文件在各种系统中看起来都合适。

更新(2-13-2013):因此,在 Mac-mini (OS X) 上运行 navigator.platform.toLowerCase() 函数调用时,我获取输出值 macintel。这将导致我的函数返回 \r 而不是它应该返回的 \n

最佳答案

这是我最终使用的:

GetNewLine: function()
{
var OS = Components.classes["@mozilla.org/xre/app-info;1"].
getService(Components.interfaces.nsIXULRuntime).OS;

return /winnt|os2/i.test(OS) ? "\r\n" : /mac/i.test(OS) ? "\r" : "\n";
}

我很确定“mac”案例永远不会发生,因为它没有被列为 OS TARGET 中的可能性。变量(我正在通过 nsIXULRuntime 中的 OS 属性进行测试)。

关于javascript - 在 JavaScript 中获取特定于平台的换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14781952/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com