- PR -

モーダル ウィンドを閉じたい

投稿者投稿内容
未記入
会議室デビュー日: 2007/04/18
投稿数: 4
投稿日時: 2007-04-18 01:06
はじめまして、オウと申します。
初回投稿ですが、難しい問題に悩んでいますので、お助けを。

ブラウザAで Window.openでブラウザBを開く、
その後、サーバー処理でブラウザBに画面を表示、
画面操作でShowModalDialogを利用して
Dialogウィンドを立ち上がる。

問題は
@ブラウザAからそのDialogを閉じたいなら、どうすればいいですか?

Aまだ、ブラウザAからサーバー処理を通して、ブラウザBの画面をもう一回
表示するとき、Dialogが邪魔になるので、ブラウザBでなっとかDialogを
閉じることができないでしょうか?

ぜひ、教えていただきたいんです。急用ですが、よろしくお願いいたします。
ぶさいくろう
ぬし
会議室デビュー日: 2005/11/22
投稿数: 1232
お住まい・勤務地: 川崎市(は俺も含めてロクな人間が住んでないよw)
投稿日時: 2007-04-18 11:38
引用:

未記入さんの書き込み (2007-04-18 01:06) より:
はじめまして、オウと申します。
初回投稿ですが、難しい問題に悩んでいますので、お助けを。


確かにこれは難しいわw
っていうか文面どおりに受け止めてみると不可能。
引用:

ブラウザAで Window.openでブラウザBを開く、
その後、サーバー処理でブラウザBに画面を表示、
画面操作でShowModalDialogを利用して
Dialogウィンドを立ち上がる。


サーバ側で画面開いていいの?意味ないと思うんだけど?
ところでウィンドって何?Wind?風を立ち上げちゃうの!?
引用:

問題は
@ブラウザAからそのDialogを閉じたいなら、どうすればいいですか?


なんで別々のプロセスで動いているものが干渉し合えるわけ?
今作っているのって(課題出されているのって)Webアプリケーションじゃないの?
引用:

Aまだ、ブラウザAからサーバー処理を通して、ブラウザBの画面をもう一回
表示するとき、Dialogが邪魔になるので、ブラウザBでなっとかDialogを
閉じることができないでしょうか?


別々のブラウザなら無理。
それともブラウザとただのダイアログがバラバラになってるんだろうか?
引用:

ぜひ、教えていただきたいんです。急用ですが、よろしくお願いいたします。


急用だったら掲示板なんかで尋ねないほうがいいよ。

っていうかまずは周りの人に聞いたら?
もしこれが課題として出されたのなら課題を出した人はWebの概念について無知な人だね。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-18 21:56
 午前1時に「急用ですが」と書いても、ねぇ?見る人が、あなたの都合に合わせて見たり書いたりしているわけではないことを、知ってくださいね。

本題確認用 HTML
コード:
<html>
	<head>
	</head>
	<body>
		<input type=button value="click"
		onclick="script:window.open('test2.htm', 'w2');">
	</body>
</html>

<html>
	<head>
	</head>
	<body>
		<input type=button value="click"
		onclick="script:window.showModalDialog('test3.htm', 'w3');">
	</body>
</html>


 showModalDialog は使ったことがなかったので、test3.htm を表示したときに test1.htm がさわれるのか?ってことが気になったのですが、これはさわれるようですね。
 ここがおかしいとは、思いませんでしたか?Windows アプリの場合、モーダル ダイアログを出せば、そのアプリケーションのすべてのフォームにアクセスできなくなります。そうなっていれば、今の悩みはなくなるのに...とか。

では、質問。
1.test1.htm の作りですが、私はテスト用に HTML ファイルにしましたが、あなたは aspx なんですよね?このページは、ポストバックしないのですか?

1の2.ポストバックする場合、別のウインドウを表示している間はポストバックしない、あるいは Ajax を使用するなど、仕様変更できますか?
(ここで「いいえ」なら、あきらめるか、ウインドウB もダイアログにしてください)

2.showModalDialog が使えるのは IE だけですが、対象の Web アプリケーションを操作するのは、IE だけなのですか?
(ここで「いいえ」または「わからない」なら、仕様を考え直してください。Opera では、ダイアログは表示されませんでした)

3.IE7 で、ポップアップを「自動判断」か「常に新しいタブで開く」にしていた場合、showModalDialog でダイアログを開くと、ウインドウA はアクセスできなくなります。これは仕様上、問題ないですか?
(願ったりかなったりなら、そのまま置いておいて「IE7 にアップデートしてください」とかね)

3の2.仕様上問題がある場合、そのシステムは IE6 限定になりますが、夏頃かな? WindowsUpdate で IE7 が強制配布になります。このときに、システムをどのように変更するつもりですか?
(「常に新しいウインドウで開く」ようにして運用するのもありですが、そこまで制限するか?と思う)

3の3.IE7 に対応するためにシステムを変更しなければならないのなら、今のうちに IE6 でも 7 でも動作するように仕様を変更しておく方がいいと思いませんか?
(showModalDialog を使用しないように修正することを勧めますけど)


 急用のところ申し訳ないですが、私は夜しか書き込みしませんので、明日の夜までお待ちください。


 私も暇じゃないので、思いつくことを列挙しましましたが、掲示板では、たいていこの質問が1問1答で進んでいくんですね。1ポストあたり、20〜30分かけて。それよりも、あなたの上司に問題を報告した方が、たぶんあなたの上司も最初のあなたの「質問」程度の報告じゃ満足しないでしょうから、あなたが、
*どういう仕様に対して、
*どのように実装しようとした結果、
*どのような不都合が発生し、
*なぜそのような現象が発生したと考え、
*不都合回避のメドをどのようにたてており、
*そのためにはどれくらいの期間が必要か、
聞くと思います。聞かなきゃ、マネージャとして失格だと思います。掲示板で、早く答えを得るために必要な情報も、最後のひとつ以外は同じです。

 なので、急ぎであるなら、掲示板で聞くべきじゃないんです。このようなことをまとめている間に、解決することもあるのですから。

_________________
未記入
会議室デビュー日: 2007/04/18
投稿数: 4
投稿日時: 2007-04-19 00:15
ご回答ありがとうございます。
急に書き込んちゃって、言葉の整理がついてない所が多いと思いますので、
迷惑になったことにお詫びします。

僕は夜11ぐらい帰宅、仕事場でネット利用できないので、見るのが今にな
ってしまいます。

実は、ご見解のとおり、これはアプリケーションですが、JSPを使うプロジェクトです。
内容は以下:
二つのシステム連携する時の問題。使うブラウザはIE6です。
まず、Aシステムは連携用ボタンを押した、別のHtmlの殻ウィンドを立ち上がる。そして、
Bシステムの処理を呼んで、Bは処理の結果画面を殻HTmLウィンド
に表示、このあと、画面操作でモーダルダイアログ画面を立ち上げる。
次、Aシステムは 同じ連携用ボタンを押した、でも、前のBシステムの画面にダイアログ
が表示されているから、連携目標画面が再表示できない、(手動でダイアログ閉じると、
すぐ、連携目標画面が出る。)このため、裏でダイアログをまず閉じて、連携の目標
画面にいきたい。
ということで、質問したんですが、状況説明は不足でした。
これで、もう一度検討していただきませんか?
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-19 07:15
引用:

未記入さんの書き込み (2007-04-19 00:15) より:
ご回答ありがとうございます。
急に書き込んちゃって、言葉の整理がついてない所が多いと思いますので、
迷惑になったことにお詫びします。

僕は夜11ぐらい帰宅、仕事場でネット利用できないので、見るのが今にな
ってしまいます。

実は、ご見解のとおり、これはアプリケーションですが、JSPを使うプロジェクトです。
内容は以下:
二つのシステム連携する時の問題。使うブラウザはIE6です。
まず、Aシステムは連携用ボタンを押した、別のHtmlの殻ウィンドを立ち上がる。そして、
Bシステムの処理を呼んで、Bは処理の結果画面を殻HTmLウィンド
に表示、このあと、画面操作でモーダルダイアログ画面を立ち上げる。
次、Aシステムは 同じ連携用ボタンを押した、でも、前のBシステムの画面にダイアログ
が表示されているから、連携目標画面が再表示できない、(手動でダイアログ閉じると、
すぐ、連携目標画面が出る。)このため、裏でダイアログをまず閉じて、連携の目標
画面にいきたい。
ということで、質問したんですが、状況説明は不足でした。
これで、もう一度検討していただきませんか?


いや、だから
仕様がマズくないか?ってことで質問しているんだけど、その回答は?
かつ、JSPなら板違い
_________________
未記入
会議室デビュー日: 2007/04/18
投稿数: 4
投稿日時: 2007-04-20 01:23
仕様が決まりました。実現できなければ、手動で閉じるしかない。
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-20 07:05
引用:

未記入さんの書き込み (2007-04-20 01:23) より:
仕様が決まりました。実現できなければ、手動で閉じるしかない。

まぁ、モーダルで開いているウィンドウ オブジェクトを取り出すすべが無いので無理だと思いますが、反対に、私的には思っているだけで確定ではないのです。
調査したことやその結果をすっ飛ばして、「自動が無理なら手動で」って、なぁ…。

ここは おしえてgoo や 答えてねっと オーケーウェーブ とは違って、サポート センターでも一方的に答える場所でもないんですよ。情報交換の場所なんですよ。あなたの所の決定事項は、あなたの所では価値があるかもしれませんが、他人には価値が低いのです。しかし、決定するまでの過程、決定の判断材料は、価値が高いのです。
価値の高い情報を得たいなら、価値の高い情報を提供して下さい。
_________________
未記入
会議室デビュー日: 2007/04/18
投稿数: 4
投稿日時: 2007-04-21 00:37
まま、いろいろしゃべたいことがしゃべったようですし、打ち切りします。

簡単に自分でできてしまいましたから、他人に頼りするのが間違いました。
でも、できるという価値高い情報を提供しましょう。

いろいろオソワレタようなので、ありがとう。

このサイトにへんなウィンド勝手に開くね。やっぱりあやしい。

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