• ベストアンサー

画面間でのJavaScriptでの値の受け渡しについて

お世話になります。 画面(ASPで作成した画面)間でのJavaScript同士の値の受け渡しは出来るのでしょうか。 画面1から画面2を開き、画面2のJavaScriptの関数内で画面1のJavaScriptの値を変えると言った事は出来るのでしょうか。 何方かご存知でしたら、お教え下さい。 宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

IEとFireFoxで試してみましたけど、できそうですね。 tes1.htmlからtes2.htmlを開いた場合のソースです。 関数はボタンとかから適当に呼んでください。 // tes1.htmlのJavaScript var value=0; function msg () { alert(value); } function openWnd () { wnd = window.open("tes2.html"); } // tes2.htmlのJavaScript function count () { opener.value++; // openerが親元 alert(opener.value); }

yu1ohni
質問者

お礼

回答ありがとう、ございます。 実現することが出来ました。 ありがとうございました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.3

>出来るのでしょうか。 #1,2で答えられている様にできます。 少し補足しておくと、 画面1から画面2を開いた場合でも、ユーザによって画面2が閉じられている可能性があるので、画面2のオブジェクトにアクセスする前に、 window.closed を使って既に閉じられていないかどうか調べる必要があります。

  • Chaire
  • ベストアンサー率60% (79/130)
回答No.2

No.1 の方と同じ内容ですが。 ブラウザで動作する JavaScript において Global オブジェクトは window オブジェクトです。つまりグローバル変数や関数には window オブジェクトのプロパティとしてアクセスできます。 var Global_Var = 100; function Global_Func() { ; } alert( window.Global_Var ); // 100 alert( window.Global_Func ); // function() { ; } alert( window.parseInt ); // ← Global オブジェクトのメソッド したがって,あるウィンドウで定義されたグローバル変数や関数には,その window オブジェクトを通してアクセス可能です。 なお関連して,変数は必ず var で宣言してスコープを明示して下さい。var で宣言されない変数は皆グローバル変数になりますから,思わぬアクセスによってデータを破壊される恐れがあります(特に多いのが for (i = 0; i < I; i++) のように i をグローバル変数にしてしまうミス)。

関連するQ&A