2009-12-02 10 views
14

window.open()関数を使用してポップアップウィンドウを開くためのJavaScriptコードがあります。親ウィンドウのデータをそのポップアップウィンドウに渡したいのですが、GoogleやSOのどこでもエレガントでシンプルなソリューションを見つけることができないようですが、JSに組み込まれたこのサポートが必要なようです。ポップアップウィンドウにデータを渡す最も簡単な方法は何ですか?ポップアップウィンドウにデータを渡す最も速い方法window.open()を使用して作成したものですか?

ご協力いただきありがとうございます。

+0

どのようなデータですか?プリミティブ? (文字列、数字、ブール)またはオブジェクト? –

答えて

38

それ超簡単だけです。その場合はちょうどこの使用:子(ポップアップ)ウィンドウで

// Store the return of the `open` command in a variable 
var newWindow = window.open('http://www.mydomain.com'); 

// Access it using its variable 
newWindow.my_special_setting = "Hello World"; 

を、あなたはこのようにその変数にアクセスできます。

window.my_special_setting 

あなたがそれを過ぎてやってみたかった、特定の何かありましたか?

+0

はうまくいった、ありがとう! – BeachRunnerFred

+1

親ウィンドウでは 'newWindow.window.myVariable = ...'、子ウィンドウでは 'myVariable'を使用する必要があります。 – Qwerty

+0

ありがとうございます。それはうまくいきます.. –

-3

theWindow.someVar = "bla";

3

それは同じドメインだとすると、バートが言ったことをやります。ドメインが異なる場合は、ハッシュタグを使用していくつかのデータを渡すことができます(例:http://www.example.com/page#some_data_for_the_page)。あなたがそれを保証するのに十分なデータを持っているなら、あなたはURL /キーと値のペアをエンコードすることができます。親ウィンドウとポップアップが同じドメインからであれば、セキュリティの制限のために

+0

この回答はほぼ8歳ですが、このCORSはフレンドリーですか?好奇心から逃れる。 –

+0

@MarkCarpenterJrいいえ、全くありません。そのページに送信されているデータはすべてURLまたはCookieにあります。つまり、データが表示されているだけで何も保存されていない場合には、厳しいCSRFチェックを必要としないユースケースもあります。そのような場合、これは安全でなければなりません。 –

関連する問題