web-dev-qa-db-ja.com

window.open()を使用して作成したポップアップウィンドウにデータを渡す最も簡単な方法は?

Window.open()関数を使用してポップアップウィンドウを開くJavaScriptコードがあります。親ウィンドウからそのポップアップウィンドウにデータを渡したいのですが、グーグルやSOのどこにもエレガントでシンプルな解決策が見つからないようですが、これはJSに組み込まれている必要があるようです。ポップアップウィンドウにデータを渡す最も簡単な方法は何ですか?

よろしくお願いします!

22
BeachRunnerFred

セキュリティ上の制限により、親ウィンドウとポップアップが同じドメインからのものである場合、それはis非常に簡単ですonlyです。その場合は、これを使用してください。

// 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

それを超えてやりたいことはありましたか?

51
Doug Neiner

それが同じドメインであると仮定して、バートが言ったことを実行します。別のドメインの場合は、ハッシュタグを使用してデータを渡すことができます(例: http://www.example.com/page#some_data_for_the_page )。それを保証するのに十分なデータがある場合は、キーと値のペアをURLエンコードできます。

3
Moishe Lettvin

Open.window関数で変数を「name」属性として設定し、新しいウィンドウでwindow.nameを使用して値を取得することもできます。

0
Mog