記事一覧

Java Script でのクエリ文字列の取得

JDBは時々、非同期通信を使ったJava Script(以下JS)でのプログラミングをします。
しかし、getElementByidなどを使ってHTMLを動的に書き換えても、その内容には具体的なURIが存在しません。
URIで指定するには、クエリ文字列で指定する方法がありますが、JSではその機能はないようなので、専用の関数を作ってみました。

ちなみに、print()関数はおまけです。
perlに慣れていると、document.write()は長すぎるので・・・・・。

<script type="text/javascript">
function print(text){
   document.write(text);
}

var qstring;
function analytics_query(){
   var url = location.href;
   var query = new Array();
   query = url.split("?"); 

      if ( !!query[1] ) {
         var querys = new Array();
         querys = query[1].split("&");
         var qcount = querys.length;
         qstring = new Array();
         var temporary_text = new Array();
         var hash_name;
         for(count=0; count<qcount; count++){
               temporary_text = querys[count].split("=");
               hash_name = temporary_text[0];
               qstring[hash_name] = temporary_text[1];
         } 
      } else {
         ;
      }
}
analytics_query();
</script>



↑をそのままC&P(コピー&ペースト)すると、関数は勝手に実行されます。

あとは、連想配列「qstring」の中の値を参照するだけです。
例えば、「test1=abcde」なら、qstring["test1"]を参照すると、「abcde」が返ります。

ちなみに、Decodeなどはしていないので、必要な方は自分でどうぞ。

print()関数は、document.write()と同じように使えます。


では~

コメント

コメントの投稿

非公開コメント

プロフィール

JDB Luigi

Author:JDB Luigi
どこにでもいるようなありふれた人間・・・という訳でもなく、かと言って怪しい宗教を信仰する変人という訳でも無い。

基本的に掲載しているコード等は煮ていただいても焼いていただいても結構ですが、利用は自己責任にてお願いいします。
また、バグ・アドバイス等もしあればよろしくお願いします。