Vaadin onbeforeunload事件

3

在 Vaadin 10(及更高版本)中,是否有类似于 JavaScript 中 window.onbeforeunload 的开箱即用事件? 我尝试使用 onDetach() 或 beforeLeave(),但它只在 UI 内起作用,当用户重新加载或关闭页面时不起作用。


不是的,但可以看一下 https://vaadin.com/forum/thread/17523194/unsaved-changes-detect-page-exit-or-reload - Javier
1个回答

3

您可以使用在评论中提到的方法,参考https://vaadin.com/forum/thread/17523194/unsaved-changes-detect-page-exit-or-reload

同时,请注意使用 beforeunload 事件。在某些情况下,即使用户实际上并未离开页面,该事件也会被触发。

最常见的情况是,如果用户单击链接开始下载,那么浏览器将立即触发该事件。稍后,当浏览器收到响应标头时,它将发现这是一个下载而不是要显示的新 HTML 页面。最终结果是 beforeunload 已经被触发,但是之前的页面仍然在运行。

如果您想在清理时使用此事件,那么今天最好的方法可能是结合使用 unload 事件以及使用最新的 Beacon API 通知服务器用户已经实际导航离开了。将其集成到 Vaadin 应用程序中需要略微更多的 JavaScript,但它有益处,确实可以工作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接