繁体   English   中英

onbeforeunload 离开页面前确认不工作

[英]onbeforeunload confirmation before leaving the page not working

我试图在用户离开页面之前确认,我使用了这个解决方案

<script>
window.onbeforeunload = function(){
  return 'Are you sure you want to leave?';
};
</script>

但这仅在您与页面上的某些内容(例如单击或键入)进行交互时才有效,当您直接关闭页面时它不起作用

我创建了一个仅记录的弹出页面,即页面上没有任何东西可以与之交互,所以我如何在离开前确认它?

文档

根据规范,要显示确认对话框,事件处理程序应在事件上调用 preventDefault()。

所以,你至少应该做

window.onbeforeunload = function(e){
  e.preventDefault();
  return 'Are you sure you want to leave?';
};

但是文档也 state

为了对抗不需要的弹出窗口,浏览器可能不会显示在 beforeunload 事件处理程序中创建的提示,除非页面已经被交互过,或者甚至可能根本不显示它们。

因此,您可能会因为没有与之交互的完全空白页面而完全不走运。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM