有关如何防止用户关闭浏览器窗口的建议(通过onbeforeunload)单击保存按钮后?

时间:2014-03-13 20:39:03

标签: javascript jquery onbeforeunload

我找到了许多关于如何在保存数据之前提示用户关闭窗口的解决方案,但在我的方案中,这一页节省了大量数据并且速度很慢(大约需要30秒)是在点击保存按钮之后。我们发现用户点击保存按钮,然后单击保存后导航或离开。根据浏览器的不同,发送到服务器的内容不一定保存(看着Chrome)。

我选择使用此解决方案并几乎完成我需要的操作,除非我单击保存按钮,我仍然会提示保存更改,因为我离开页面。就像我需要关闭提示然后在延迟一段时间后再打开它。这甚至可能吗?

    window.onbeforeunload = function() {
        if ( Flag == 'Y' ) {
            return "Changes made. Don't want to save?";                         
        }
    }

1 个答案:

答案 0 :(得分:0)

为什么不试试"随时随地保存"方法?...您可以随着用户在任何数据输入机制中的进展发送小的快速请求,并将其存储在服务器上的临时文件中,这样当用户点击" save"按钮或关闭浏览器窗口,您只需发送一个小请求,足够快,以便安全浏览器断开连接。然后,服务器只读取临时​​文件并对其进行处理,就好像它是由用户在单个操作中发送的一样。可能并不容易,但你会摆脱一些麻烦。