当社のウェブサイトには、ユーザーが記入して送信できるフォームがあります。場合によっては、20分のセッションタイムアウトよりもフォームへの入力に時間がかかることがあります。
そこで、タイムアウトの2分前にメッセージをポップアップしてユーザーに警告する機能と、保存して続行するオプション(セッションを更新する)を作成しました。警告が残っている場合は、作業が自動保存され、2分後にログアウトされます。
メッセージが無視されると、作業が自動保存され、正常にログアウトされます。[保存]をクリックして続行すると、正常に保存され、さらに20分後にメッセージがポップアップ表示されます(テスト中は時間を短縮しました)が、その後 2分経過してもログアウトしません。無視されます。
これが私が書いたJavaScriptです。誰かが問題を見ることができますか?
init();
タグで呼び出さonLoad
れます。<body>
var logoutTimer = setTimeout('saveAndLogOut();', 1000 * 60 * 1.5);
function init() {
setTimeout('expirationWarning();', 1000 * 60 * 1);
logoutTimer;
}
function expirationWarning() {
$('#session-expiry-warning').dialog({
show: 'fade',
hide: 'fade',
title: 'Your session is about to expire...',
buttons: {
"Save and Continue": function() {
ajaxSave('saved');
clearTimeout(logoutTimer);
init();
$(this).dialog("close");
}
},
width: 550,
closeOnEscape: false,
open: function(event, ui) { $(".ui-dialog-titlebar-close").hide(); }
});
}
function saveAndLogOut() {
ajaxSave('autosaved');
setTimeout("parent.document.location.href = '../logout.asp';", 5000);
}
前もって感謝します。