2013-03-29 113 views
1

我有以下問題:我想通過警報警告用戶即將到來的會話超時。當實際會話超時發生時,我想彈出另一個提醒並轉發到任何網站。我的方法適用於Firefox和IE。使用Safari和Chrome時,如果在第二次超時發生之前未提交第一次警報,則實際上從不會執行第二個功能。任何提示?Javascript alert抑制其他javascript功能

setTimeout(function() { 
    alert('Session timeout in 5 minutes...'); 
}, 30 * 1000); 


setTimeout(function() { 
    alert('Session timeout, sorry'); 
    location.href = 'http://google.com';  
}, 60 * 1000); 
+0

也許使用自定義提醒對話框(HTML,CSS)會更好。 –

+1

喜歡這個:http://jqueryui.com/dialog/ – sdespont

+0

謝謝你,jquery對話做到了! – user2223806

回答

0

此問題將通過創建自定義提醒框來解決。 但是Incase你想用broswer提示框來做,你可以試試這個。

var nStartTime = new Date().getTime(); 

setTimeout(function() { 
    alert('Session timeout in 5 minutes...'); 
    var nRemainingTime = 60 * 1000 - (new Date().getTime() - nStartTime); 
    nRemainingTime = nRemainingTime < 0 ? 0 : nRemainingTime ; 
    setTimeout(function() { 
     alert('Session timeout, sorry'); 
     location.href = 'http://google.com';   
    }, nRemainingTime); 
}, 30 * 1000);var nStartTime = new Date().getTime(); 
0

alert()和confirm()是兩個提示,它們會停止執行java腳本。