何年も前に、Firefox アドオンの 1 つに、プラットフォーム固有の改行文字を取得するのに役立つ次の関数を書きました。
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";
}
これは問題ないようですが、ウィキペディアの改行記事を読んで、最近の Apple オペレーティング システム (OS X 以降) が UNIX スタイルの\n
行末を使用していることに気付きました。そのため、私の小さな関数は、その場合に間違ったものを返す可能性があります (テストする Mac OS がありません)。
Firefox にプラットフォーム固有の改行文字を教えてもらう方法はありますか? おそらくある種の組み込みユーティリティ関数でしょうか?拡張機能が書き込むテキスト ファイルでこれらの改行を使用していますが、さまざまなシステムでファイルが適切に見えるように、プラットフォーム固有のものを使用したいと考えています。
更新 (2013 年 2 月 13 日):navigator.platform.toLowerCase()
Mac-mini (OS X) で関数呼び出しを実行すると、出力 value が得られますmacintel
。これにより、関数が本来\r
の代わりに返さ\n
れます。