离开页面时弹出消息

Popup message when leaving page

本文关键字:消息 离开      更新时间:2023-09-26

我想开发一个类似于window.beforeunload功能的小弹出消息,通知用户,如果他们离开当前页面,他们将丢失所有数据。

然而,beforeunload事件的问题是它经常触发。

我希望只有当用户关闭页面或单击将他们从当前页面带走的链接时,才会触发弹出消息,以确保他们意识到他们当前的操作将导致他们迄今为止输入的表单数据丢失。

然而,当他们刷新页面时,beforeunload事件会进一步触发,这在这种情况下是不需要的,在提交论坛时也是如此。

有人能就发展这一点的最佳方式向我提出建议吗。我考虑过使用一个基本的确认对话框,并在适当的情况下启动它,但是,是否可以知道用户是否正在刷新页面,以及论坛是否正在提交(没有jQuery)。

如何在适当的时间启动此对话框?

不幸的是,我认为这是不可能的。出于安全原因,页面卸载事件非常有限。

如果您只想在用户添加或更改表单数据时显示它,为什么不检查数据中的更改?如果是,则在beforeunload上返回问题,如果不是,则不执行任何操作。

假设表单不太复杂,可以使用Ajax调用保存表单数据,这意味着不会重新加载页面。因此,beforeunload将按照设计进行操作。