gpt4 book ai didi

javascript - 除非我单击页面,否则 Firefox 不会调用 `beforeunload` 事件

转载 作者:行者123 更新时间:2023-11-28 16:08:15 25 4
gpt4 key购买 nike

我想处理 beforeunload Firefox 中的事件。除了用户需要手动单击页面或在输入中写入内容外,它工作正常。

我有以下代码可以在 Firefox 上运行,但同样,只有当我们手动单击该页面时。

<script>
popMessage = "Foo";
window.addEventListener("beforeunload", function (e) {
(e || window.event).returnValue = popMessage; //Gecko + IE
alert(popMessage);
return popMessage;
});
</script>

我尝试添加:

  • document.body.click()
  • <input type='text' autofocus>

两者都没有做任何改变。

我还尝试使用 jQuery,希望它能正确处理它。还是一样:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
<script>
$(window).on('beforeunload', function(){
return 'Are you sure you want to leave?';
});
</script>

这些在 Chrome 上工作正常,但在 Firefox 上不行。是否有希望在页面上没有用户交互的情况下实现此功能?

最佳答案

developer.mozilla.org指出“为了打击不需要的弹出窗口,浏览器可能不会显示在 beforeunload 事件处理程序中创建的提示,除非该页面已与之交互。”所以没有希望。

关于javascript - 除非我单击页面,否则 Firefox 不会调用 `beforeunload` 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38769536/

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