我怎么知道用户是否已在检票口中离开页面

how can I know if the user has left the page in wicket?

本文关键字:离开 用户 是否 我怎么知道      更新时间:2023-09-26

我正在寻找一种方法来知道用户何时离开页面并且没有保存更改,然后显示检票口的模态(最好,但可能是确认框)。

附加信息:该解决方案在代码中的影响应该最小,因为我有大约 30 个页面将具有该行为,实际上我的所有网页都从一个名为 LayoutPage 的页面扩展而来,类似于这个

我尝试使用纯JavaScript解决方案,就像这个问题一样,但是应用程序通过AJAX请求发送了大量数据,因此我无法确定一种很好的方法来了解数据是否已发送到服务器

我开始查看 Wicket Form.class的源代码。它有一个很好的方法叫做 isSubmitted() ;如果我能够从检票口知道用户是否即将退出页面,我可以使用它。

我不想为系统中的每个页面编写验证。

只需在卸载之前使用 https://cwiki.apache.org/WICKET/calling-wicket-from-javascript.html 生成浏览器即可。在回调中,您可以检查表单或页面的状态。