###前提・実現したいこと
某IT企業に勤める者です。
当社で運用しているWeb画面(Win7 SP1/IE11)で、20秒周期で、
画面にデータ表示するAPを呼び出し、表示内容を自動更新する画面があります。
構造としては、jsp画面上でjavascriptを用いて20秒毎に「ENTERキーを押下する」イベントを発生させ、画面からのENTER通知でAPを起動しています。
問題は、ブラウザウィンドウを複数上げて操作している場合、
自動更新画面にて更新が起こると、別ウィンドウを操作していても
更新画面にフォーカスがとられてしまう事です。
自動更新画面は常にインアクティブで動作するようjavascriptで制御できないでしょうか?
###該当のソースコード
・自動更新画面は以下javascriptを用いてサイズ指定で起動されています。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> <html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <META http-equiv="X-UA-Compatible" content="IE=Edge"> <script language="JavaScript"> // 画面#1のURLを取得 var seisan=window.open("", "seisan","width=920,height=600,menubar=no,toolbar=no,resizable=yes,scrollbars=no"); // 画面#1の起動チェック(未起動="about:blank") if (seisan.location.href=="about:blank") { //URLは動作環境に合わせ指定してください。 var param=window.location.search.substring(1,window.location.search.length); if (param==''){ window.open('http://自動更新画面','seisan'); }else{ window.open('http://自動更新画面'+param,'seisan'); } seisan.focus(); } else { alert('複数画面は起動できません'); } // Exit処理 window.open("about:blank","_parent").close() </script> </html>・自動更新を実現しているjspのjavascriptです
<script language="javascript"> function fire() { var evt = document.createEvent("Event"); evt.initEvent("keydown", true, true); evt.keyCode = 13; document.dispatchEvent(evt); } setTimeout(fire, 20000); </script>上記javascriptによってENTER通知がAPに対して発行され、
APが画面を返します。
返された画面で再度上記javascriptが実行され、ENTER通知→AP起動・・・
と動作が繰り返されます。
###試したこと
下から3行目の部分を足してみましたが、当画面が更新時にアクティブになる事は回避できませんでした。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/25 13:01