正在IE11中保存“beforeunload”上的数据

Saving data on `beforeunload` in IE11

本文关键字:数据 beforeunload IE11 保存 正在      更新时间:2023-09-26

我正试图通过关闭选项卡/窗口上的AJAX将用户对表单的更改保存到服务器上。

这是一个类似的问题:拦截页面退出事件

我使用的是这个代码:

$(window).bind('beforeunload', beforeUnload);

除了使用IE11之外,它似乎工作得很好。

看起来,当用户验证警报在IE11中弹出时,之前运行的每一段JS代码都会被暂停(我的数据不会通过网络发送)。因此,如果用户选择离开,一切都将消失。

有人在那个浏览器上运行过吗?有可能吗?

编辑:

我现在看到,它有时有效,但在其他人身上却失败了。

当它失败时,它会启动AJAX调用(此时它会到达断点),但永远不会进入成功/失败函数。。。(我在使用Fiddler时没有看到任何发送)

总之,它首先命中AJAX调用断点,然后显示确认对话框,当您选择离开页面时,不会发送任何消息…:(

事实证明,这种保存数据的方法并不可靠,而且只能靠运气。

此外,同步XHR现在被标记为不推荐使用,所以使用它也不是一个好主意。

所以,我想网络不应该这样工作。。。