0

我对关闭浏览器窗口有一点问题,

基本上,我有一个页面,我想在 15 分钟不活动后关闭它。我已经设法制作了一个计时器,它会在不活动 10 分钟后提醒窗口。

我需要的是,在计时器完成时,会出现一个带有可见倒计时的弹出/警报,用户可以从这里继续他的会话或结束它。如果用户在 5 分钟内未单击继续或忽略弹出窗口,则弹出窗口和父窗口都将关闭。否则,如果用户按下继续,弹出窗口将关闭并刷新主页(从而再次启动计时器)有什么建议吗?这是我的代码:

    var idleTime = 0;
    var activeTime = 0;
    var warningFlag = 0;
    var loginTime = new Date();
    var logoutTime = loginTime;
    setInterval(function checkIdle() {
        idleTime += 1;
        activeTime += 1;
          if(idleTime > 10) {
            alert("You've been inactive for 10 \n minutes, are you still there ?\nYou logged in at " + loginTime);
            warningFlag=1;
        }
        if((idleTime > 15) && (warningFlag==1)) {
            alert("You've been logged out due to inactivity for 15 \n minutes? \nYou logged out at " + logoutTime);
            window.close();
        }
        window.onload = resetTimer;
        document.onmousemove = resetTimer;
        document.onkeypress = resetTimer;
    },1000);

    function resetTimer() {
         idleTime = 0;
    }
4

2 回答 2

2

而不是警报窗口使用 div 来切换隐藏/可见的可见性。该 div 应该包含另一个容器,div 或 span,用于显示倒计时时间。

于 2012-07-02T19:49:23.690 回答
0

您可以使用模态窗口,它们通过显示 div 并将页面的其余部分涂黑来表现得像警报一样。

你可以在这里看到一些很好的例子:

http://www.scriptiny.com/2011/03/javascript-modal-windows/

希望这可以帮助。

于 2012-07-02T19:58:50.633 回答