サブウィンドウを常に前面に表示する


動作ブラウザ 【 IE:3.0   NN:4.0
Internet Explorer Netscape Navigator Opera iCab Safari
3.0x 4.0x 4.5 5.0x 5.5 6.0 2.0x 3.0x 4.0x 4.x 6.0 7.0 7.x 2.x 1.x
Windows - × × -
Macintosh × × × × - × ×
UNIX - - - - - × × -

ポイント <body onBlur="focus()">
説  明 常にサブウィンドウを前面に表示するにはサブウィンドウ側で「onBlur="focus()"」という処理を記述することにより可能になります。ウィンドウが背面に移動するとonBlurイベントが発生します。ウィンドウを前面に表示するにはfocusを使います。onBlurとfocusを組み合わせることでウィンドウを常に前面に表示できます。
サンプル <html> <head> <title>サブウィンドウを常に前面に表示する</title> <script Language="JavaScript"><!-- window.open("sub.html","menu","width=160,height=400"); // --></script> </head> <body> サブウィンドウを常に前面に表示する </body> </html>
補足説明 Windows版のInternet Explorerの場合、focus()により常にウィンドウにフォーカスされてしまい、サブウィンドウ上にある入力フォームのテキストフィールド、テキストエリアへの入力ができなくなります。

サブウィンドウ側のHTMLは以下の通りです。 <html> <head> <title>メニュー</title> </head> <body onBlur="focus()"> ■メニュー<br> <hr>  このウィンドウは親ウィンドウに対して常に最前面に表示されます。<br> <hr> <ul> <li>JavaScript 1.0 <li>JavaScript 1.1 <li>JavaScript 1.2 <li>JavaScript 1.3 <li>JavaScript 1.5 </ul> </body> </html>

■サンプルスクリプトを実行する >>実行
■各ブラウザでの動作結果を見る >>View!



写真素材 PIXTA