- PR -

showModelessDialog起動画面の重複起動防止

1
投稿者投稿内容
さっちん
ベテラン
会議室デビュー日: 2006/09/13
投稿数: 64
投稿日時: 2006-09-15 11:07
こんにちは、

親画面から、子画面のshowModelessDialogでオープンしてます。
しかし、親画面から同じ子画面が複数オープンしてしまうのです。
重複起動を防止する方法ってありますか?
P.S.ShowModaldialogで実現可能ですが、
  システムの仕組み上、ShowModaldialogは使用できません。
ご教授願います
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2006-09-15 11:44
NAL-6295です。

対象となるwindowオブジェクトが存在していたら、開かない。
という手があります。
さっちん
ベテラン
会議室デビュー日: 2006/09/13
投稿数: 64
投稿日時: 2006-09-15 11:46
対象となるwindowオブジェクトが存在していたら、開かない。
とうのはどういった方法ですか?
NAL-6295
ぬし
会議室デビュー日: 2003/01/26
投稿数: 966
お住まい・勤務地: 東京
投稿日時: 2006-09-15 11:56
NAL-6295です。

showModelessDialogの戻り値である
windowオブジェクトを保持しておいて、
次実行する時は、そのwindowオブジェクトの状態で判断すればよいでしょう。
windowオブジェクトがどういう状態だと、どう判断できるのかは容易に調べることができますので、自らで調べてみてください。


_________________
「伝える」とは「人に云う」と書く。
http://d.hatena.ne.jp/NAL-6295/
さっちん
ベテラン
会議室デビュー日: 2006/09/13
投稿数: 64
投稿日時: 2006-09-15 12:00
NAL-6295さんありがとうございます。

やってみます!
さっちん
ベテラン
会議室デビュー日: 2006/09/13
投稿数: 64
投稿日時: 2006-09-15 14:20
NAL-6295さん、度々すいません。
いろいろ調べてみたのですが、、、結局わからず途方にくれています。

具体的なサンプルはありませんでしょうか?

以下、ソースです。
var obj = window.showModelessDialog("XXXXX.htm" ,XXXX, XXXXX);
これを、ボタンで起動してます。
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2006-09-15 14:55
「いろいろ」はやめましょうよ…調べてないように思われますよ。

次に来たときに、起動する前にobjがあるかどうか見ればいいんです。
さっちん
ベテラン
会議室デビュー日: 2006/09/13
投稿数: 64
投稿日時: 2006-09-15 15:02
すいません。。。
ちゃんと調べましたけど、言葉が悪かったですね。
ちなみに、解決しました。
ありがとうございました。

if ( win == null ) {
win = window.showModelessDialog(param1, "aaa", param2);
} else {
if ( win.closed ) {
win = window.showModelessDialog(param1, "aaa", param2);
}
}
1

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