改行コード取得関数

written by clone

JavaScriptのサンプルによくある改行コード取得関数は、 OSを判別して改行コードを返します。
テキストエリアに文字列を出力するにはこのコードでも問題ないのですが、

	//プラットフォームによって改行文字を決める関数  引用:JavaScriptハンドブック(Danny Goodman 著   田辺茂也・各務辰哉 共訳)
	function getCRChars(){
		var theAgent=navigator.userAgent
		if (theAgent.indexOf("Win") >=0){
			return "\r\n"
		} else if(theAgent.indexOf("Mac") >=0){
			return "\r"

		} else {
			return "\n"
		}
	}
テキストエリアに入力された文字列の改行文字と 関数の返す改行コードが異なる場合に、
正規表現やindexOfメソッドなどで改行コードを処理するときに問題が生じます。
そこで、内部コード(?)を参照して改行コードを返すようにしました。
//2004.1月8日 Ns7でもまともな改行コードを返すよう書き換え
function getCRChars(){
	var sourceCode=""+getCRChars+""

	if(sourceCode.indexOf("\r\n")>-1){
		return "\r\n"
	}else if(sourceCode.indexOf("\n")>-1){
		return "\n"
	}else if(sourceCode.indexOf("\r")>-1){
		return "\r"

	}else{
	//ここは実行されない・・・ことを祈ろう(^^;
		return "\n"
	}
}


もどる ∧∧
(◎←)
((( ▽ )))
- -

This page hosted by Geocities-Japan
Get your own Free Home Page