2013-03-29 67 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脚本。