このHTMLは、index.htmlから「<a href="link-para-receive3.html?e=abc&j=日本語" >」で呼び出されました。
そのパラメタ部分(「?」の後ろの部分)を、
paraName[0] = "e"; paraValue[0] = "abc";
paraName[1] = "j"; paraValue[1] = "日本語";
に入れる処理をします。
このHTMLおよびリンク元のHTMLの文字コードは UTF-8 です。
<script type="text/javascript"> function init() { var paraPair = new Array(); // 行A var paraName = new Array(); var paraValue = new Array(); var パラメタ部分 = location.search.split("?")[1]; var para = パラメタ部分.split("&"); // 行B var パラメタ数 = para.length; for (var i = 0; i <パラメタ数; i++) { // 行C paraPair = para[i].split("="); // 行D paraName[i] = decodeURIComponent(paraPair[0]); paraValue[i] = decodeURIComponent(paraPair[1]); } var 結果 = ""; for (i = 0; i < パラメタ数; i++) { 結果 += "paraName[" + i + "] = " + paraName[i] + ", paraValue[" + i + "] = " + paraValue[i] + "<br>"; } document.getElementById('表示場所').innerHTML = 結果; } </script> <body onLoad="init()"> <div id="表示場所" class="red"></div>
例2(receive2)との違いは、行Aでの定義と行Cのループが加わったことです。
paraPair: paraPair[0] = "e=abc", paraPair[1] = "j=日本語" paraName: paraName[0] = "e", paraName[1] = "j" paraValue:paraValue[0] = "abc", paraValue[1] = "日本語"