• 締切済み

window.open()で小窓を表示させるスクリプトで、親ウインドの

window.open()で小窓を表示させるスクリプトで、親ウインドのボタンで小窓を開けるにつき以下を解決する方法(スクリプト)をお教え下さい。 1)小窓が開いた状態で再度ボタンを押すと小窓が親ウインドの下に隠れてしまう。 2)小窓&ボタンが複数の場合、他のボタンを押すと先に開いている小窓が隠れてしまう。 3)同一小窓に複数ボタンで違う内容を切り替え表示する場合、2回目から親ウインドの下に隠れてしまう。 例示>(勝手にリンクを貼らせていただきました。支障あれば消して下さい) このページの「サブウィンドウ1、サブウィンドウ2、サブウィンドウ3」ボタン(表示)でなります http://www.tagindex.com/javascript/window/open1.html

みんなの回答

  • y_mat
  • ベストアンサー率0% (0/0)
回答No.4

私も前はうまく行っていたのが、同じ症状が生じて前に回ってくれなくなりました。で、検索でここの回答を見つけて参考にさせていただきました。書かれていたスクリプトは、どういう状況での使い方がよく分からず、うまく行きませんでしたが、「小窓をいったん閉じる」というのがとても大きなヒントになりました。 katohhさんは、あれでおそらく解決できたのだと思いますが、私の方法も参考までにあげておきます。試行錯誤の結果、小窓のBODYタグで <body onblur="window.close()" ・・・> と入れただけです。 下記のURLで、どれかの建物のページに入れば、クリックで写真が出てくるようになっています。この小窓が後ろに隠れるようになって困っていたのでした。最近ブラウザの仕様が変わったようですね。検索すると、けっこうな猛者の人たちまで試行錯誤されていましたが、解決できないようで、私もいいかがんあきらめかけていました。おかげさまで(多分?)解決できたようです。本当にありがとうございました。お礼と報告まで

参考URL:
http://www.webnet.co.jp/~matsuda-a/
noname#243456
質問者

お礼

投稿しておきながら、対処療法で何とは済んでいたためこの質問について忘れておりました。 多少参考になったようで方法に間違いが無い模様で心強いです。

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

別窓を利用するのならモーダルにでもしない限り、(何らかの操作で)裏側に入ってしまうのはしかたがないでしょう。 常に表示(前面に)しておきたいのであれば、別窓ではなく、position:absoluteなどにしたdivを手前に表示するとかの方法ではどうでしょうか? divの位置が固定だと、裏側になった(親窓の)部分が見えなくなってしまうので、ドラッグ移動可能にしておくとかしてあげたほうが良さそうですけど…

noname#243456
質問者

お礼

fujillin様 返事が遅くなりました。 ご教授ありがとうございました。なにぶん私儀初歩人のため、ご指示の方法で解決するか勉強させていただきます。 補足ですが、皆様のご回答を参考に試してみました。 再度または同じ窓で新たな小窓を開く場合に、開いた小窓を閉じてから開くと出来るようでした。 理由不明と、ただ全て満足するか試行錯誤中です。 <こんな感じです> function subWinm1(){ my1.window.close(); my2.window.close(); my1=window.open("http:/△△△","my1",WIDTH=***,HEIGHT=***0,left=***,top=***"); my2=window.open("http:・・・・  ); }

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

アクティブなウィンドウが前に来るのは当たり前のこと。 子窓がアクティブでいいなら、開いたウィンドウを覚えておいて 親窓にフォーカスしたときに子窓にフォーカスをうつすのが妥当。 結局小窓が開いている間親窓はいじれないので、それであれば モーダルをつかうのも手でしょう。

noname#243456
質問者

お礼

yambejp様 返事遅れました。回答ありがとうございました。 やはり当たり前ですか。OSの構造に依存する(当然な)内容でしょうか。 ご回答の後半部分は私には敷居が高そうですのでもう少し勉強いたします。

  • pasocom
  • ベストアンサー率41% (3584/8637)
回答No.1

いずれのご要望も最初に開いた小窓を最前列で表示しておきたい、ということでいいのでしょうか。 でしたら、 window.open("test.html", "Test", "width=200,height=200,alwaysRaised=yes"); ということでいかがでしょうか。

noname#243456
質問者

お礼

pasocom様 早々にResありがとうございました。 ただ・・・試してみましたが解決できませんでした。 再度ボタンを押すと小窓が隠れてしまいます(親窓の下になる)。

関連するQ&A