JQuery - 在浏览器关闭事件时执行任务

JQuery - perform task on browser close event

本文关键字:事件 执行任务 浏览器 JQuery      更新时间:2023-09-26

非常简单的问题。我需要在用户关闭浏览器时执行任务。我知道以下功能:

$(window).bind("beforeunload", function() {    返回假;})$(window).unload(function() {    返回假;})

但是这两个 - 都会发出警报,询问用户 - "留在此页面上" - "离开此页面"(至少在Chrome上)。

我不希望这种情况发生。我只想在他关闭它时执行一个任务,例如更新数据库上关于他离开的时间。

任何想法谢谢

这不可能跨浏览器正确完成,因为 Opera 实际上并不支持它:''如这里所述: 跨浏览器 Onunload 和 Onbeforeunload ?(特别是歌剧11)和许多其他有据可查的地方。

此外,正如其他人提到的那样,有不同程度的实现,例如Firefox,您可以将自己的消息添加到在卸载前显示的警报框中,但在Chrome中您不能,它只会显示一些没有多大意义的通用消息。

您可以定期保存用户状态(使用 ajax),也可以只将最后一个请求记录到服务器(在后端)。