5

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

<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. 如果您实际离开页面、刷新、新 url 等,它只会显示该框。如果您退出选项卡或浏览器,则不会弹出该框。

  2. 无论您按什么按钮,它只会将您发送到您最初尝试去的地方,它永远不会将您发送到no.htmlor yes.html

有人能告诉我这是怎么可能的吗?

4

1 回答 1

8

尝试这个:

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

您只能捕获页面上的停留选项,您不能覆盖离开页面的用户。类似于:如何知道用户是否在 Javascript onbeforeunload 对话框上单击了取消?

于 2012-09-24T01:02:12.130 回答