离开页面时弹出消息

时间:2012-09-13 10:36:31

标签: javascript html dialog popup window.onunload

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

然而beforeunload事件的问题是经常发生。

我希望只有当用户关闭页面时才会触发弹出消息,或者单击一个链接使其离开当前页面,以确保他们知道他们当前的操作会导致表单丢失他们到目前为止输入的数据。

但是beforeunload事件在刷新页面时会进一步激活(本案例不需要),以及提交论坛时。

有没有人可以告诉我最好的发展方法。我想过使用一个基本的确认对话框并在适当的情况下启动它,但是有可能知道用户是否正在刷新页面,以及是否正在提交论坛(没有jQuery)。

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

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

假设表单不是太复杂,您可以使用Ajax调用来保存表单数据,这意味着不会有页面重新加载。因此,beforeunload将按其设计的方式运行。