Javascript 页面出口上的弹出框

Javascript 页面出口上的弹出框,javascript,popup,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 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();">

函数框()
{
var r=确认(“消息”);
如果(r==true)
{
window.location.href=“yes.html”;
}
其他的
{
window.location.href=“no.html”;
}
}
我对此有两个问题:

  • 它仅在您实际离开页面、刷新、新url等时显示框。如果您退出选项卡或浏览器,框不会弹出

  • 无论你按什么按钮,它都只会将你发送到你最初尝试去的地方,而不会将你发送到
    No.html
    yes.html

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

    试试这个:

    <script type="text/javascript">
      window.onbeforeunload = confirmExit;
      function confirmExit()
      {
          setTimeout(function() {
            setTimeout(function() {
               window.location.href="yes.html";
            }, 1000);
        },1);
        return "Message";
      }
    </script>
    
    
    window.onbeforeunload=确认退出;
    函数confirmExit()
    {
    setTimeout(函数(){
    setTimeout(函数(){
    window.location.href=“yes.html”;
    }, 1000);
    },1);
    返回“消息”;
    }
    

    您只能捕获停留在页面上选项,不能覆盖离开页面的用户。类似于:

    这是否回答了您的问题?