以前の参考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; } }