異なるドメインのページにデータを渡す


動作ブラウザ 【 IE:3.0  NN:2.0
Internet Explorer Netscape Navigator DreamPassport iCab
3.0x 4.0x 4.5 5.0x 5.5 2.0x 3.0x 4.0x 4.x 6.0 2 3 2.x
Windows - - -
Macintosh - - -
UNIX - - - - - - - -
Dreamcast - - - - - - - - - - -

ポイント jpURL = "http://www.shiojiri.ne.jp/~openspc/etc/receive.html"; str = document.myFORM.data.value; location.href = jpURL+"?"+str;
説  明 異なるドメイン(IP)、ページにJavaScriptのみでデータを渡すにはlocation.hrefに?を付加し以後に送信したい文字を付け加えます。受け側ではlocation.searchにより?以後の文字を簡単に取り出すことができます。(?の文字も含まれます) 日本語の文字の受け渡しは文字コードの関係上、うまくいかない場合があります。
サンプル <html> <head> <title>異なるドメインのページにデータを渡す</title> <script Language="JavaScript"><!-- function send() { jpURL = "http://www.shiojiri.ne.jp/~openspc/etc/receive.html"; str = document.myFORM.data.value; location.href = jpURL+"?"+str; } // --></script> </head> <body> <form name="myFORM"> 送信データ:<input type="text" name="data"><br> <input type="button" onClick="send()" value="送信する"><br> </form> </body> </html>
補足説明 受け側のスクリプトは以下の通りです。渡されたデータをチェックしていないため、場合によってはクロスサイトスクリプティングの脅威にさらされる危険性がありますので注意が必要です。 <HTML> <HEAD> <TITLE></TITLE> </HEAD> <BODY> 渡された文字は<B> <SCRIPT Language="JavaScript"> <!-- str = location.search; str = str.substring(1,str.length); document.write(str); // --> </SCRIPT> </B>です。 </BODY> </HTML>

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!

写真素材 PIXTA