onbeforeunload以任何方式知道它是重装还是离开?

时间:2017-08-30 23:26:48

标签: javascript

我们有一些用户填写的表单。如果在此过程中导航我需要执行操作。

我在浏览器中找到了许多组合configureCellonbeforeunload的示例,以提示用户并提醒他们如果他们关闭或导航他们输入的信息将不会保存。那部分运作良好。

我仍然遇到的唯一问题是如果用户重新加载 - 右键单击​​重新加载,F5或浏览器刷新按钮 - 那么也会调用unload。这对我们来说是一个问题。

我找到了有关performance.navigation属性的信息。但是在页面重新加载之后,它的值才可用,也就是说,它告诉我我正在重新加载的页面已被重新加载,而不是页面即将重新加载。

有没有办法检测即将发生的刷新而不是导航?

1 个答案:

答案 0 :(得分:2)

我建议你"执行一项行动"当您的用户填写表单时。然后,如果用户选择离开,则不会造成伤害。

将此信息发布到正在填充的服务器上是完全可行的。如果"执行动作"需要与用户互动,您应该在beforeunload上进行互动。

编辑:beforeunload点,可以提供的唯一交互是警报(),要求用户确定/取消导航离开页面。