Javascript 带有计时器的弹出框

Javascript 带有计时器的弹出框,javascript,settimeout,Javascript,Settimeout,在一段指定的非活动时间(比如10分钟的空闲时间)后,应用程序应弹出一个带有计时器的弹出框(显示为60 59 58…1),该框应在60秒内关闭,并选择“取消”选项,如果用户未选择任何选项,则浏览器应关闭。如果用户在60秒内选择“取消”选项,则该选项也应关闭 显示我正在使用的弹出框setTimeout(“pop()”,600000)但如果用户未选择任何选项,如何在其中包含计时器,至少该框应在60秒内关闭。有解决方案吗?您可以尝试在弹出窗口中输入以下代码 <script> functi

在一段指定的非活动时间(比如10分钟的空闲时间)后,应用程序应弹出一个带有计时器的弹出框(显示为60 59 58…1),该框应在60秒内关闭,并选择“取消”选项,如果用户未选择任何选项,则浏览器应关闭。如果用户在60秒内选择“取消”选项,则该选项也应关闭


显示我正在使用的弹出框
setTimeout(“pop()”,600000)但如果用户未选择任何选项,如何在其中包含计时器,至少该框应在60秒内关闭。有解决方案吗?

您可以尝试在弹出窗口中输入以下代码

<script>
  function mytimer()
  {
    setTimeout(function closewin(){window.close;}, 600000);
  }
</script>

<body onload="mytimer();">

函数mytimer()
{
setTimeout(函数closewin(){window.close;},600000);
}

您可以再次使用
setTimeout()
setInterval()
。在
pop()
函数中,以1秒(1000ms)的超时时间启动另一个函数,每次调用时减少一个计数器并更新标签。当计数器达到0时,检查该框是否仍在屏幕上,如果是,则调用
window.close()
(但并非所有浏览器都会响应关闭尝试)

例如:

function pop() {
  var counter = 60;

  var box = document.createElement('div');
  var label = document.createElement('span');
  label.innerText = counter;
  box.appendChild(label);

  // Position box and label as you wish.

  function tick() {
    counter--;
    if (counter == 0) {
      window.close();
    } else {
      label.innerText = counter;
      setTimeout(tick, 1000);
    }
  }

  setTimeout(tick, 1000);
}

600000是10分钟-你需要敲掉一个0的最高值,感谢你宝贵的建议,但我需要自动关闭框而不进行任何确认,即使是该窗口。关闭将要求确认。因此,是否有其他方法来创建我有点困惑-你想关闭弹出窗口还是整个页面?未经确认,无法可靠地关闭整个浏览器窗口。有一些黑客,比如将
window.opener
设置为随机字符串,但在某些浏览器上很可能会失败。我的应用程序具有基本身份验证,因此在该会话中不会在不关闭窗口的情况下失效。因此,如果我的应用程序空闲10分钟,则使用setTimeout()发出带有确认框的警报,如果我按下OK键,它会重新加载页面CANCEL,这意味着我将页面重定向到JSP页面,页面中有登录选项,因为我没有关闭浏览器,所以它不会询问登录凭据(使用基本身份验证)因此,我需要一个sol,这样它应该询问登录或确认框wid timer,这样我需要在60秒后关闭该窗口,如果我没有按“确定”或“取消”