ユーザーがまだ Web ページでアクティブな間、セッション タイムアウト () に関連する状況で立ち往生しています。
Web ページの特定のリンクをクリックすると、ユーザーがポップアップ ページにリダイレクトされるという現象が発生しています。このポップアップには Oracle フォーム (基本的にはアプレット) が含まれており、このアプレットは HTML ページ内に埋め込まれています。
ユーザーがこのポップアップで作業している場合、すべてのリクエストは Jboss サーバーとは異なるフォーム サーバーに送信されます。そのため、しばらくするとセッションがタイムアウトします。
この問題を解決するために、次のアプローチを取りました。
この jquery コードをこのポップアップ ページの下に追加しました。
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script>
var timer=0;
function run(){
timer++;
if(timer == 2){
$(document).bind('keyup mousemove',function(){
$(this).unbind('keyup mousemove');
$.ajax({
url: 'https://bdqap1.acclaris.com/bensol/common/refreshsession.jsp',
cache: false,
data: 'html',
success: function(data,status) {
}
});
timer=0;
});
}
}// run ends here
setInterval(run,1000);
</script>
このコードは、 popup でのマウスまたはキーボードの動きで jboss サーバーのリンクを呼び出します。これにより、ユーザーがアクティブな間、セッションが維持されます。
しかし、jquery コードはアプレット部分の動きを検出できないため、このアプローチは機能しません。Jquery が動作していません。アプレットがフォーカスされています。
クライアント側からこの問題を解決したかったのです。もっと良い方法はありますか?