- PR -

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

1
投稿者投稿内容
ペーぺー01
常連さん
会議室デビュー日: 2005/05/29
投稿数: 45
投稿日時: 2005-06-17 20:22
showModalDialogで開いたウィンドウ内で画面の遷移(POST)を
行なうと新しいウィンドウが開いてしまいます。

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


水戸黄門
会議室デビュー日: 2005/02/12
投稿数: 11
投稿日時: 2005-08-17 16:30
既に解決されたと思いますが、今、同じ問題で悩んでしまいましたので
解決方法を記載しておきたいと思います。

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

showModalDialogで開く側のページで
<base target="_self">
を指定する。

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

参考になれば幸いです。
とくお
会議室デビュー日: 2007/01/26
投稿数: 1
投稿日時: 2007-01-26 19:02
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()を親画面<body>タグのonFocus時に呼べばモーダル化できます。

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

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

スキルアップ/キャリアアップ(JOB@IT)