JavaScriptのwindow.open()で開いた画面を常にActiveにする方法
今週はJavaScriptを沢山使う機会がありました。
その中でとても悩んだことが、親画面から子画面を開いて子画面が開いている間は親画面にフォーカスを当てないという作りを実現する方法でした。
もちろんwindow.showModalDialog()でもできるんですが、分けあって今回は使えませんでした。
なので以下のように実現したんですが、なかなか苦肉の策でした。。
【親画面のHTMLにて】
<script type='text/javascript'>
var subWin = window.open('URL','Window名','options');
function chkWin(){
if(subWin!=null && subWin!=''){
if(!subWin.closed){
subWin.focus();
}
}
}
のような。。。
上記の「chkWin()」をbodyタグのonFocus属性に埋め込めば完成です。
やってることは、親画面にフォーカスが当たった場合にも、子画面がある場合には、子画面にフォーカスを当てるということです。
こんなのも出来るんだと感じた今週でした。