首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何禁用“离开网站?您所做的更改可能不会保存”弹出角?

如何禁用“离开网站?您所做的更改可能不会保存”弹出角?
EN

Stack Overflow用户
提问于 2022-05-13 05:35:47
回答 2查看 5.6K关注 0票数 3

当我到达订单确认页面并引发如下所示的警报时,我正在尝试关闭浏览器。这给用户造成了一种误解,认为他的更改未保存。所以我想避免出现这种情况。

我知道此警报是由于卸载前事件而触发的。我尝试过的解决方案:

代码语言:javascript
运行
复制
window.addEventListener("beforeunload",(event)=>{
    return null;
})

代码语言:javascript
运行
复制
 window.onbeforeunload=null;

我没有在我的应用程序中使用jQuery。还有其他方法可以阻止这个事件的发生吗。

我尝试过的链接:

如何禁用/重写“您要离开此站点吗?”警觉?

禁用“您所做的更改可能无法保存”弹出窗口。

如何禁用“您所做的更改可能无法保存”。对话框(Chrome)?

他们都不是为我工作的。

没有jQuery,我如何才能做到这一点?我所困惑的是如何处理这个事件,这样它就不会显示弹出。

我正在使用Chrome版本101.0.4951.64

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-13 12:21:13

这可能是因为您的代码中有一些第三方库或其他功能,它们侦听"beforeunload“事件并可能修改event.returnValue的值。

这个解决办法可能对你有用。

代码语言:javascript
运行
复制
window.addEventListener('beforeunload', function (event) {
  event.stopImmediatePropagation();
});

这将阻止执行链中的其他侦听器。

在应用程序的顶部包含这段代码是很重要的,以确保您的函数首先被执行。

在角的情况下,一个好的位置可以在ngOnInit的AppComponent。

检查一下这里。

票数 3
EN

Stack Overflow用户

发布于 2022-05-17 09:43:01

只需添加beforeunload事件的MDN文档以供参考。

事件

当此事件返回(或将returnValue属性设置为)除null或未定义之外的值时,将提示用户确认页面卸载。

不尊重空返回值,它将以“空”文本的形式显示给用户。您必须使用未定义来跳过提示符.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72224869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档