もーだるなwindow showModalDialogではまった ie9
2013/09/30
ie9
javascript
javascriptです。ネイティブ実装依存だと思われるshowModalDialogです。
モーダルなwindowで、閉じるときに親windowの関数を呼びだして値の連携したいなーといろいろ試みてました際のメモ。
試した環境はie9です。
開かれたほうのwindowでwindow.openerで、開いたほうのwindowを取得できると思ってたのにできなくて、うーんと悩んでました。
で、わかったのが第二引数で、呼び出し側のwindowを指定しないといけないことがわかったのです。
参考
- showModalDialog method (Internet Explorer)
- 今さらながらJavaScriptのwindow.showModalDialogについて調べてみた。 - 大人になったら肺呼吸
window.returnValueの意味がよくわかってなくて、親windowが参照できるなら、親にある関数呼べるだろうと思い試すと呼べたのですが、これはwidow.openで子画面を開いたときでした。
どうも、 showModalDialogで開いたときにはopenerを参照しても親画面が参照できなくて悶々としていたら、dialogArgumentsからどうやら参照できるらしいということがわかったわけです。
以下のコードは動かしてないですが、たぶんまちがってないと思います。
if(window.opener) {
window.opener = window.dialogArguments;
}
参考
以下、
ひとりごと。
インターネットにアクセスして検索すればすぐわかることだったけど、ネットにつながらない環境で、作業は、はまると出口なし!!
: