【おやじのweb技】 html/javascript/css等
winXP+IE6MAC+IE5
TopPage表示 /  保 存 /  印 刷 /  Window Resize /  Window Close

k007

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

web工房  Copyright(C) 2004 web工房 All Rights Reserved 
このページのトップに戻る /  Window Resize /  Window Close /  最終更新日表示

action

このファイルが常に前面に表示されるようになっています。

web技

◆手順1【ファイル起動時実行】<body〜>に記述

-----次の行から(copy)-----
<body onBlur="focus()">
-----上の行まで(copy)-----

解説等

◆ウィンドウが他ののウィンドウの背面に移動すると onBlurイベントが発生するので、ウィンドウを前面に表示するfocus()を実行します。
◆「常に前面に表示される」のは、同じブラウザのウィンドウに対して、ということで、他のアプリケーションで開いているウィンドウに対しては効果がありません。

【注意】

上記のテキストフィールドに文字を書き込んで下さい。
◆入力しようとしてカーソルをテキストフィールドに移動してもフォーカスできないとき
※すなわち、書き込めないときですが、これは常にウィンドウへのfocus()を優先実行しているからです。
◆最初にオープンしたときテスキトフィールドに書き込めることがありますが、他のウィンドウに移ろうとしてウィンドウへのfocus()が稼動しテキストフィールドにはフォーカスできなくなります。
◆結論として、この技(ウィンドウに優先的にフォーカスする)を適用するページではテキストフィールド等フォーカスを必要とする入力フォームは使わない方がよろしいかと思います。
※どなたか回避する技ご存じでしたらご教授頂ければ幸いです。

※直接回避する方法は判りませんが、どうしてもテキストフィールドを使ったウィンドウを前面に表示したいのならば、モーダルウィンドウを用いればよいと思います。
【参考技】
[技b006]ダイアログボックス(モーダルウィンドウ)を開く、を参照して下さい。
(上記リンク文字をクリックして[技b006]のウィンドウをオープンしたとき、新しいウィンドウはこのウィンドウの後ろに表示されますのでご注意下さい)

keyword

◇onBlur◇focus()

history

(2005.01.19)一部内容更新(モーダルウィンドウの情報を付加)
(2004.09.27)一部内容更新
(2004.09.20)一部内容更新
(2004.05)設置

注意

◆操作MENUの[Window Resize]を選択するとウィンドウサイズが変更可能です。インラインフレームの幅もウィンドウ幅に追従します。
◆上記の[web技]をクリップボードにコピーしテキストエディタに貼り付けて使用する場合は、表示のための改行記号や全角・半角スペースの記号等を削除して下さい。
-----次の行から(copy)-----
(この部分をクリップボードにコピーしてテキストエディタ等に貼り付けて下さい)
-----上の行まで(copy)-----

access count