- ベストアンサー
ジャバスクリプトで質問です
2つご教授ください。 1)a.htmlからwindow.open.でb.htmlを別窓で開きます。そのb.htmlを常に手前に表示すべく、b.htmlの中に「setInterval("window.focus()",2000) 」を書き込んでいます。 それを、ラジオボックスか何かで、この常に手前に表示するかしないかを選べるようにしたいのです。具体には、最初開いた時はチェックがあり、定期的にフォーカスを移し、チェックをはずすと、フォーカスをはずす…というふうに。ですが、やり方が皆目検討がつきません。どのようにしたらよいでしょうか。 2)1)の話と連動するのですが、b.htmlからa.htmlを操作したいのですが、a.htmlにフレーム名を認識させるやり方があったと思うのですが、思い出せません。 ぜひご教授くださいますよう、お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず、(1)の方法で作成した場合のサンプル <html> <head> <script type="text/javascript"> function SetNextTimeMyFocus() { if (document.getElementById("CHK_BOX1").checked == true) { window.focus(); } } </script> </head> <body onload='setInterval("SetNextTimeMyFocus()",20)'> bbb <input type="checkbox" ID="CHK_BOX1" checked=true> </body> </html> ブラウザの種類でどうも"window.focus();" 処理が違うらしく、 IE6だと全ウィンドウの最前面で、 Operaは、タブ内で最前面。 FireFoxはFireFox内での最前面になる模様。 (2)は、 "b.htmlからa.htmlを操作"なら、No1さんの言う通り"opener"使います。 ただ"a.htmlにフレーム名を認識させるやり方"って何の事でしょか?
その他の回答 (1)
- Hardking
- ベストアンサー率45% (73/160)
1).ユーザーにするかしないの二択をさせたいならば、a.html→b.html 時にJavaScriptで確認ダイアログを表示し 「はい」 ... window.showModalDialogでb.htmlを表示する。 「いいえ」... window.openでb.htmlを表示する。 2).b.htmlにとって、a.htmlは親ウィンドウなので window.openerで操作可。 以上
お礼
そういうやり方もありましたか。 少し考えてみます。
お礼
助かりました。サンプルまでつくっていただいてありがとうございます。そのまま使わせていただきます。 (2)の方は、以前、どなたかに教わった気がしたのですが…。a.html自身にフレームとして認識させるスクリプトを… でも、openerで対応できそうです。ありがとうございました。