Ne kullanıcı sayfasındaki forma yazmaya başlar ve zaman aşımı süresi bitmiş değil ise? Ben şimdiye kadar diğer yanıtlar açıklanan daha başka bir şekilde hareketsizlik anlaştım.
var rowLockSeconds = 0;
function startRowLockTimer()
{
setInterval("incrementRowLockTimer()",60000);
$("input").keypress(function (e) { rowLockSeconds=0; }).click( function() { rowLockSeconds=0; });
$("textarea").keypress(function (e) { rowLockSeconds=0; }).click( function() { rowLockSeconds=0; ; });
window.onbeforeunload = function obul() { if (hasChanged) { return 'You will lose any unsaved changes you\'ve made.'; } }
window.onunload = clearRowLock;
}
Onlar giriş yaptığınız gibi Yani, satır kilidi sayacı 0'dan başlar. Her 60 saniyede o zaman aşımına görmek için aralık işlevini çağırır.
function incrementRowLockTimer()
{
rowLockSeconds = rowLockSeconds+60;
// 10 minute timer to clear someone out of a page if there has been no activity
if (rowLockSeconds >= 600)
{
window.onbeforeunload=null;
// clear rowLock with request here
$.get('../ajax/rowLock-server.php?do=delete&rowLockID='+currentRowLockID+'&userUUID='+currentUserUUID, function() {
alert('You have been logged out of this page after 10 minutes of inactivity.');
document.location.href='../main.php';
});
}
}
AJAX DB satır kilidi açık dışarı denetler.
Anahtar giriş ve textarea bağları böylece forma kullanıcı türleri eğer bir şey, zaman aşımı sıfırlanır ve onlar başka bir 10 dakika var.