Par*_*roo 12 javascript onbeforeunload dom-events angular
我试图在到达订单确认页面后关闭浏览器,它会发出如下所示的警报。这会给用户造成误解,认为他的更改尚未保存。所以我想避免这个弹出窗口。
我知道此警报是由于beforeunload事件而触发的。我尝试过的解决方案:
window.addEventListener("beforeunload",(event)=>{
return null;
})
Run Code Online (Sandbox Code Playgroud)
和
window.onbeforeunload=null;
Run Code Online (Sandbox Code Playgroud)
我没有在我的应用程序中使用 jQuery。有没有其他方法可以禁用此事件的触发。
我尝试过的链接:
如何禁用“您所做的更改可能不会保存”。对话框(Chrome)?
他们都不为我工作。
如果没有 jQuery,我怎样才能实现这个目标?我感到困惑的是如何处理这个事件,以便它不显示弹出窗口。
我使用的是 Chrome 版本 101.0.4951.64
小智 18
这可能是由于代码中的某些第三方库或其他功能侦听“beforeunload”事件并可能修改 的值event.returnValue。
此解决方法可能适合您。
window.addEventListener('beforeunload', function (event) {
event.stopImmediatePropagation();
});
Run Code Online (Sandbox Code Playgroud)
这将阻止链中其他侦听器的执行。
将此代码包含在应用程序的顶部非常重要,以确保首先执行您的函数。
对于 Angular,AppComponent 的 ngOnInit 是一个好地方。
| 归档时间: |
|
| 查看次数: |
32013 次 |
| 最近记录: |