gpt4 book ai didi

javascript - window.beforeunload 在 Firefox 中调用了两次 - 如何解决这个问题?

转载 作者:搜寻专家 更新时间:2023-11-01 04:11:57 26 4
gpt4 key购买 nike

我正在创建一个弹出窗口,其中安装了 beforeunload 处理程序。当“关闭”文件菜单项用于关闭弹出窗口时,会调用两次 beforeunload 处理程序,导致出现两个“您确定要关闭此窗口吗?”消息出现。

这是 Firefox 的一个错误,我有 reported it here ,但我仍然想要一种方法来防止这种情况发生。你能想出一个合理的方法来检测双重 beforeunload 以防止双重消息问题吗?问题是 Firefox 没有告诉我用户选择单击对话框中的哪个按钮 - 确定或取消。

最佳答案

<script type="text/javascript">
var onBeforeUnloadFired = false;

window.onbeforeunload = function ()
{
if (!onBeforeUnloadFired) {
onBeforeUnloadFired = true;
event.returnValue = "You have attempted to leave this page. If you have made any changes to the fields without clicking the Save button, your changes will be lost. Are you sure you want to exit this page?";
}

window.setTimeout("ResetOnBeforeUnloadFired()", 10);
}

function ResetOnBeforeUnloadFired() {
onBeforeUnloadFired = false;
}
</script>

关于javascript - window.beforeunload 在 Firefox 中调用了两次 - 如何解决这个问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1800974/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com