2012-09-28 13 views
0

我有一個需要登錄的應用程序,我也有一個AJAX計時器。我已閱讀了幾篇關於如何在一段時間後創建會話超時的文章。但是,如果用戶沒有點擊某個按鈕說5分鐘,我希望會話結束。每次點擊後是否有重置計時器的方法?不活動期間之後的會話超時

回答

1

試試這個:

function logout() { 
    location.href = '/your/logout/page.aspx'; 
} 

var timeout = setTimeout(300000, logout); 
function resetTimeout() { 
    clearTimeout(timeout); 
    timeout = setTimeout(300000, logout); 
} 

document.onclick = resetTimeout; 
+1

+1。管理定時器樣本。請注意,您可能需要在檢測到「活動」的其他地方調用resetTimeout,如果處理較早,onclick可能無法到達文檔。 –

0

您可以在頁面加載(使用setTimeout)上設置一個javascript定時器,並且每個回發(並且可選地通過不回發的按鈕點擊)以及該定時器倒數至零它會重定向到一個logout.aspx(例如:window.location ='Logout.aspx'),它處理清除會話,然後重定向回登錄頁面。