【问题标题】:Popup message when leaving page离开页面时弹出消息
【发布时间】:2012-09-06 10:16:58
【问题描述】:

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

但是beforeunload 事件的问题是它经常触发。

我希望仅在用户关闭页面或单击将他们带离当前页面的链接时触发弹出消息,以确保他们知道他们当前的操作将导致表单丢失他们迄今为止输入的数据。

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

谁能告诉我开发这个的最佳方法。我考虑过使用基本的确认对话框并在适当的情况下触发它,但是是否有可能知道用户是否正在刷新页面,以及是否正在提交论坛(没有 jQuery)。

如何让这个对话框在适当的时候触发?

【问题讨论】:

  • “他们将丢失所有数据。” 将其存储在 cookie 或 HTML 5 本地存储中。在页面重新加载时恢复它。没有提示,没有戏剧,没有眼泪..

标签: javascript html dialog popup window.onunload


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    如果您只希望它在用户添加或更改表单数据时显示,为什么不检查数据的更改?如果是,则在beforeunload 上返回问题,如果不是,则什么也不做。

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-31
        相关资源
        最近更新 更多