关闭浏览器选项卡之前请保存。

3

我知道有许多其他与此问题相关的线程,但它们都不能满足我的需求。我有一个表单,我希望在用户选择关闭浏览器标签页而没有保存表单时,自动保存表单并在顶部显示消息(例如保存中)。我尝试了以下代码:

window.onbeforeunload = function (event) {
    //form saving request
    event.returnValue = "The form is being saved. Please wait";
};

但是,以上方法存在以下问题:
1> 我不希望它成为一个警报弹窗,我希望它在后台静默地发生。
2> 它给了我两个选择:留在页面上或离开此页面,这对我的需求来说是荒谬的。
非常感谢任何建议。提前致谢。
2个回答

4

您可以在 beforeunload 事件上使用 Beacon API 进行后台请求,但只适用于基于 Chrome 和 Firefox 的浏览器。


感谢您的建议。但是,我想用普通的JS或jQuery方式来实现。此外,该插件不支持Safari和IE。 - Abhi

1

我不确定这个解决方案是否足够节省时间让你在关闭之前保存数据。你可能需要进行负载测试并确保在选项卡终止之前完全正确地保存了所有数据。 - TaoPR
根据我的尝试,当弹出窗口询问是否离开页面时,用户点击选项的同时,后台表单有足够的时间被保存。但是,我希望它在没有弹出窗口的情况下发生。 :-( - Abhi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接