我正在制作警报功能时遇到问题。仅当用户按下“后退”按钮时才会发出警报。问题在于,当用户尝试关闭页面时也会显示警报。有任何解决这个问题的方法吗?这是代码。我通过在所有单击的链接上将Boolean设置为true来完成此工作,这将关闭警报。

编辑:对于任何抓住它的人,是的,缺少引号。那只是我在这里编辑代码并意外删除引号。这实际上不是问题,我在此处的代码中对其进行了修复。

<script>
 var okayToLeave = false;

window.onbeforeunload = function () {
   if (!okayToLeave) {
   return "By going back, you risk submitting your order twice."
   }
}

function OkayToLeave() {
    okayToLeave = true;
}

最佳答案

缺少“
在以下行中:

return "By going back, you risk submitting your order twice."

编辑:

您的OkayToLeave方法应定义onbeforeunload

因此,除了将值设置为true之外,您还应该考虑添加该事件。

编辑2:

这是一个代码示例:

function NotOkayToLeave() {
    window.onbeforeunload = function () {
        return "By going back, you risk submitting your order twice.";
    };
};

function OkayToLeave() {
    window.onbeforeunload = null;
};

09-16 21:46