もーだるなwindow showModalDialogではまった ie9 2013/09/30

javascriptです。ネイティブ実装依存だと思われるshowModalDialogです。
 モーダルなwindowで、閉じるときに親windowの関数を呼びだして値の連携したいなーといろいろ試みてました際のメモ。

試した環境はie9です。

 開かれたほうのwindowでwindow.openerで、開いたほうのwindowを取得できると思ってたのにできなくて、うーんと悩んでました。 で、わかったのが第二引数で、呼び出し側のwindowを指定しないといけないことがわかったのです。

参考


 window.returnValueの意味がよくわかってなくて、親windowが参照できるなら、親にある関数呼べるだろうと思い試すと呼べたのですが、これはwidow.openで子画面を開いたときでした。

どうも、 showModalDialogで開いたときにはopenerを参照しても親画面が参照できなくて悶々としていたら、dialogArgumentsからどうやら参照できるらしいということがわかったわけです。

以下のコードは動かしてないですが、たぶんまちがってないと思います。
if(window.opener)  {
window.opener = window.dialogArguments;
}

参考

以下、
ひとりごと。
インターネットにアクセスして検索すればすぐわかることだったけど、ネットにつながらない環境で、作業は、はまると出口なし!!



: