页面退出时弹出框

时间:2012-09-24 00:58:05

标签: javascript popup

我想要做的是在页面退出或导航离开时随时弹出一个弹出框。现在我有

<script type="text/javascript">
function box()
{
    var r=confirm("Message");
    if (r==true)
    {
        window.location.href="yes.html";
    }
    else
    {
        window.location.href="no.html";
    }
}
</script>


<body onunload="box();">

我有两个问题:

  1. 如果您实际离开页面,刷新,新网址等,它只会显示该框。如果您退出选项卡或浏览器,则框不会弹出。

  2. 无论您按哪个按钮,它都会将您发送给您原本想去的地方,它永远不会将您转到no.htmlyes.html

  3. 有人能告诉我这是怎么回事吗?

1 个答案:

答案 0 :(得分:7)

试试这个:

<script type="text/javascript">
  window.onbeforeunload = confirmExit;
  function confirmExit()
  {
      setTimeout(function() {
        setTimeout(function() {
           window.location.href="yes.html";
        }, 1000);
    },1);
    return "Message";
  }
</script>

您只能抓住页面上的停留选项,您无法覆盖离开页面的用户。类似于:Way to know if user clicked Cancel on a Javascript onbeforeunload Dialog?