Javascript Windows onbeforeunload事件

Javascript Windows onbeforeunload事件,javascript,events,Javascript,Events,onbeforeunload不会在我笔记本电脑上的任何浏览器(Edge、Chrome、Firefox、Safari)上启动。 以下示例来自2019年发布的MDN web文档。 看在上帝的份上,为什么浏览器表现得如此愚蠢而不触发事件。 我已经浪费了好几个小时的时间看屏幕,想知道为什么这个被认为是简单的代码在任何浏览器上都不起作用。 我是真的做错了什么,还是我的笔记本电脑上的Windows10有问题,还是浏览器开发者让我们的生活陷入地狱? onbeforeunload事件在浏览器中有很好的文档记录,

onbeforeunload不会在我笔记本电脑上的任何浏览器(Edge、Chrome、Firefox、Safari)上启动。 以下示例来自2019年发布的MDN web文档。 看在上帝的份上,为什么浏览器表现得如此愚蠢而不触发事件。 我已经浪费了好几个小时的时间看屏幕,想知道为什么这个被认为是简单的代码在任何浏览器上都不起作用。 我是真的做错了什么,还是我的笔记本电脑上的Windows10有问题,还是浏览器开发者让我们的生活陷入地狱? onbeforeunload事件在浏览器中有很好的文档记录,可以像下面所写的那样工作。 那么为什么它不起作用呢

使用的示例来自:


“在某些浏览器中,此事件期间可能会忽略对window.alert()、window.confirm()和window.prompt()的调用。有关更多详细信息,请参阅HTML规范。”在运行页面时,我在Chrome中看到一个错误,“在卸载之前阻止警报”。似乎大多数浏览器都在卸载之前删除了onbeforeunload。请看这里:您不应该尝试在此事件处理程序中发出警报。如果返回字符串,浏览器将显示自己的确认对话框,询问用户是否真的想离开页面。谢谢大家的评论。最重要的一点是,除了似乎突然消失的onbeforeunload,我还有什么选择?
<html
<head>
<script language='javascript'  type='text/javascript'>
//This example is from: https://developer.mozilla.org/en-US/docs/Web/API/WindowEventHandlers/onbeforeunload
//I added the line alert('unloading')
//The alert is not shown so the onbeforeunload is not fired. Why?
alert('2')
window.addEventListener('beforeunload', function (e) {
    alert('unloading')
  // Cancel the event
  e.preventDefault();
  // Chrome requires returnValue to be set
  e.returnValue = '';
}

);

</script>

</head>

<body>
    Tesing onbeforunload.
</body>

</html>