Wicket 识别浏览器关闭窗口

Wicket 识别浏览器关闭窗口,wicket,Wicket,是否有可靠的方法检测wicket应用程序服务器端浏览器选项卡或窗口的关闭? 它必须在firefox版本68.11.0或更高版本下工作。我使用wicket 8.8.0 我用WebSocket尝试了它,并捕获了连接关闭事件。但不幸的是,刷新页面时也会引发此事件(F5) 从浏览器的角度来看,关闭选项卡和刷新选项卡之间没有区别。在这两种情况下,浏览器在卸载之前触发JavaScript事件并关闭所有打开的连接(WebSocket、ServerSideEvent、Ajax) 所以,你可以使用 page.ad

是否有可靠的方法检测wicket应用程序服务器端浏览器选项卡或窗口的关闭? 它必须在firefox版本68.11.0或更高版本下工作。我使用wicket 8.8.0

我用WebSocket尝试了它,并捕获了连接关闭事件。但不幸的是,刷新页面时也会引发此事件(F5)


从浏览器的角度来看,
关闭选项卡
刷新选项卡
之间没有区别。在这两种情况下,浏览器在卸载之前触发
JavaScript事件并关闭所有打开的连接(WebSocket、ServerSideEvent、Ajax)

所以,你可以使用

page.add(new AjaxEventBehavior("beforeunload") {
   @Override public void onEvent(AjaxRequestTarget target) {...}
});
但这只是告诉您,用户离开了当前页面。没有关于接下来会发生什么的信息

page.add(new AjaxEventBehavior("beforeunload") {
   @Override public void onEvent(AjaxRequestTarget target) {...}
});