私たちのウェブサイトはを利用していshowModalDialog
ます。ダイアログ内で行われることに基づいて、ダイアログを開いたページをリロードする場合としない場合があります。これを行うには、ダイアログJavaScriptwindow.returnValue
をtrue
またはfalse
に設定します。次に、基になるページが、への呼び出しの戻り値でそれを検査しますshowModalDialog
。
これは、ダイアログドキュメントと基になるページが同じオリジンドメインから読み込まれる場合に正常に機能します。Webで一般的であるように、ダイアログのドメインがページのドメインと一致しない場合、からの戻り値showModalDialog
は常にundefined
です。
さまざまな方法で、ダイアログから下にあるウィンドウにフラグを渡すことを楽しんでいます。幸い、すべてがサポートしているブラウザを対象としていますpostMessage
が、ダイアログJavaScriptはの値を取得していないようです。そのため、ウィンドウへの参照を取得してメッセージを投稿できるwindow.opener
とは思いません。このようなiframe回避策を実装することは、コードベースでは実行不可能です。これは、すべて同じダイアログを開くことができる複数のサイトにiframe受信者ドキュメントをインストールする必要があるためです。
ダイアログをリロードせずにクロスオリジンのオープニングページと通信させるためのより良い方法はありますか?