编程语言
首页 > 编程语言> > JavaScript,浏览器,窗口关闭 – 发送AJAX请求或在窗口关闭时运行脚本

JavaScript,浏览器,窗口关闭 – 发送AJAX请求或在窗口关闭时运行脚本

作者:互联网

我试图找出用户何时离开指定页面.找到他在页面内部使用链接导航时没有问题,但我需要标记一些内容,例如当他关闭窗口或输入另一个URL并按下回车时.第二个不是那么重要,但第一个是.所以这是一个问题:

我怎么能看到用户何时关闭我的页面(捕获window.close事件),然后……并不重要(我需要发送一个AJAX请求,但如果我能让它运行警报,我可以做其余的).

解决方法:

有卸载和beforeunload javascript事件,但这些对于Ajax请求不可靠(不保证在其中一个事件中启动的请求将到达服务器).

因此,强烈建议不要这样做,您应该寻找替代方案.

如果您确实需要这个,请考虑使用“ping”式解决方案.每分钟发送一个请求,基本上告诉服务器“我还在这里”.然后,如果服务器没有收到超过两分钟的请求(您必须考虑延迟等),您认为客户端脱机.

另一个解决方案是使用unload或beforeunload来执行Sjax请求(同步JavaScript和XML),但完全不推荐这样做.这样做基本上会冻结用户的浏览器,直到请求完成,这是他们不喜欢的(即使请求花费的时间很少).

标签:javascript,browser,window,dom-events
来源: https://codeday.me/bug/20190911/1803765.html