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();">

これには2つの問題があります。

  1. 実際にページから移動したり、更新したり、新しいURLを表示したりした場合にのみ、ボックスが表示されます。タブまたはブラウザを終了しても、ボックスはポップアップしません。

  2. どのボタンを押しても、最初に移動しようとした場所に送信されるだけで、no.htmlまたはに送信されることはありません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 に答える