JavaScriptのscrからGET変数を取得する2

以前の参考URLからjqueryを使用して、1ページ内に複数記述しても大丈夫なようにカスタマイズした。

このソースそ作成した時にはアップロード用の処理を書いていたので、ターゲットのscriptタグにはname=uploadと記載するようにしている。参考サイトのようにsrcのファイル名からターゲットを識別する事も考えたがjqueryのセレクタを使用する方が簡単だ。

//JavaScriptファイルのURLパラメータを取得する

//このif文は複数includeされた時用の重複定義防止
if( typeof upload_js_libs == 'undefined' ){
	var upload_js_libs = 1;

     //引数を格納する
	var setting = new Object;

	//初期処理
	$(function(){
                //このソースそ作成した時にはアップロード用の処理を書いていたので
                //ターゲットのscriptタグにはname=uploadと記載するようにしている。
                //参考サイトのようにsrcのファイル名からターゲットを識別する
                //事も考えたがjqueryのセレクタを使用する方が簡単
		var trg = $('script[name=upload]');
		var n = 0;
		for( n = 0; n < trg.length; n ++ ){
			//引数取得
			arg = upload_getSrcArgs($(trg[n]).attr('src'));
			if( typeof arg['idx'] == 'undefined' ) continue;

			//引数保持
			setting[n] = arg;

			//初期表示処理
			/* .... */

			//アップロード時の処理
			/* .... */
	});

	function upload_getSrcArgs( src ){
		ret = new Object;
		tmp = src.split('?');
		if( tmp.length < 2 ) return ret;

		arg = tmp[1].split('&');
		for( n = 0; n < arg.length; n ++ ){
			tmp = arg[n].split('=');
			ret[tmp[0]] = tmp[1];
		}
		return ret;
	}
}