- - PR -
ウィンドウの制御について
投稿者 | 投稿内容 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-10-11 22:17
ユーザインターフェイスを考えるときは、実際に操作する人のことを考えましょう。
「すでにウインドウが存在しているなら、メッセージを出して、新しいウインドウは出さない」という仕様ですね。では、 「すでにウインドウが存在しているのに、新しいウインドウを出そうとしている状況」 とは、どんなものでしょうか。 もし、対象のウインドウが一目見てわかる位置に、それだとわかるように存在しているなら、おそらくそれを再利用すると思います。ということは、他のウインドウに隠れているなど、一目でわからない状況にある、ということが想像できます。 このときに、「すでに表示されています」というメッセージが出たとして、ユーザはどう思うでしょう? ところで、「制御できない」って、どういうことでしょう? 手元の Web アプリでやると、子を表示して親を消し、もう一度親を出して子を表示するアクションをすると、特に表示上の変化はありませんね。 で、子から親への値渡しをしようとすると、親へ値が渡りませんでした。 おそらく、opener が閉じた親を指しているのでしょう。 ん〜、、、どうしましょうねぇ。 子を表示中に親がリロードすることがないなら、unload で保持している子を消す、というアクションが、ユーザに優しいと思いますけど。 _________________ | ||||||||||||||||
|
投稿日時: 2006-10-12 09:59
設計者がC/Sの考えを根底に話をするんです。 なので、「すでに表示されています」などのメッセージを表示してほしいなぁと・・・ 私どもは委託なので実現可否を調査するだけで、決定権は向こうにあるので 従うことしかできないつらい立場なんです。
例えば子ウィンドウで何らかの入力を行った上で、もう一度親を出して子を表示するアクションをするとどうなりますでしょうか? 私の経験では入力内容がすべて消されたと思うのですが・・・ 設計者からはそのような動きにはしたくないらしいです。 | ||||||||||||||||
|
投稿日時: 2006-10-12 11:21
とりあえずJavaScriptでこんなことはできます。
既に開いているWindowに対して、第1引数を指定せずにOpenするとリロードは行われません。 書いておいて何ですが、ブラウザに対する依存が大きいのであんまりオススメはしません。 わかってる範囲ですとSSLサイトで警告が出るという問題もあります。 あと、別スレでノートンがポップアップをブロックするってのも見た記憶が... | ||||||||||||||||
|
投稿日時: 2006-10-12 22:59
メインフレームとか汎用機かな? 心中お察しいたします。。。 ただ、その考えを、そのままパーソナルコンピュータ、特に Web アプリには持って来れないですよね。 例えば、「リターンキーでフォーカス移動」は、絶対に出来ません。[Return]キーは存在しませんから(ゴメン そのことは、設計者さんもご存じなのでしょうか。
確認しました。おお、テスト ケース抜けだ。。。 でっち6号さんのコードをお借りします。
IE7、Opera9 で、期待通りの動きをします。FireFox が。。。 FireFox の場合、名前が有効じゃないですね。新しいタブが、必ず開いてしまいます。 _________________ | ||||||||||||||||
|
投稿日時: 2006-10-13 18:01
でっち6号様、Jitta様 ありがとうございました。
2重起動制御が出来ました。 > ただ、その考えを、そのままパーソナルコンピュータ、特に Web アプリには持って来>れないですよね。 >例えば、「リターンキーでフォーカス移動」は、絶対に出来ません。[Return]キーは存在しませんから(ゴメン >そのことは、設計者さんもご存じなのでしょうか。 上記の事はプロジェクト開始直後からず〜っと言っています。 ただ、言葉の端々に「VBでの言うところのこういう動きはできる?」と聞かれます。 安直に「できません」と言いたい所ですが、出来ない理由を理解してもらうために サンプルで出来ない事を証明するしかないんです。 すご〜く苦労しています。 |