QA@IT
この質問・回答は、@ITの旧掲示板からインポートされたものです。

showModalDialogの遷移時に新規ウィンドウが開いてしまう問題

showModalDialogで開いたウィンドウ内で画面の遷移(POST)を
行なうと新しいウィンドウが開いてしまいます。

showModalDialogで開く画面をIFRAMEで作る以外に
対処法をご存知の方がいらっしゃいましたらご教授ください。
よろしくお願いいたします。

質問者:ペーぺー01

回答

showModalDialogではないのですが、window.open()でモーダル化が可能です。

window.open()を呼んだ際の戻り値である画面オブジェクトで
子画面の状態を判断します。

以下親画面のJavaScript

// 戻り値の子画面オブジェクトを取得
var subwin = window.open(page, null, param);

// 子画面の表示状況を確認する関数
function chkSubWin() {
  if(subwin != null && subwin != "") {
    // 子画面が閉じたか否か
    var ret = subwin.closed;
    // 子画面が閉じてない場合は子画面にフォーカス
    if(ret == false) {
      subwin.focus();
    }
  }
}

上記chkSubWin()を親画面タグのonFocus時に呼べばモーダル化できます。

[ メッセージ編集済み 編集者: とくお 編集日時 2007-01-26 19:02 ]
[ メッセージ編集済み 編集者: とくお 編集日時 2007-01-26 19:03 ]

投稿者:とくお

編集 履歴 (0)

既に解決されたと思いますが、今、同じ問題で悩んでしまいましたので
解決方法を記載しておきたいと思います。

但し、私が悩んでいたのは、aspのページですので参考になるか
分かりません。

showModalDialogで開く側のページで

を指定する。

参考にしたURL
http://www.codeproject.com/aspnet/ThoseCrazyPopups.asp

参考になれば幸いです。

投稿者:水戸黄門

編集 履歴 (0)
ウォッチ

この質問への回答やコメントをメールでお知らせします。