在关闭浏览器窗口之前执行某些操作

时间:2010-05-12 09:16:24

标签: javascript html cross-browser

我们有一个内置在flash中的网络应用程序(它实际上只是构建了:D)当用户关闭窗口时,通知非常重要。

由于它是在flash中,我们不担心Javascript,我们不支持非JavaScript用户。

什么是最安全的(意味着它100%确定它被调用)X-browser方式调用php脚本来关闭会话,进行一些数据库更改等等?

谢谢

5 个答案:

答案 0 :(得分:3)

没有100%确定可行的方法。如果出现网络问题,停电等情况,您无法从客户端获得信号

定期运行一个清理脚本(基于时间,而不是活动),对X分钟内没有活动的会话执行所有删除等。

答案 1 :(得分:0)

onbeforeunload和/或onunload事件可能就是你要找的东西。 您可以在那里触发ajax调用,但是当页面实际上载时它可能会被中断。

如果检测到通过链接离开的用户就足够了,只需在$('a[href]').click(...);

中触发ajax请求

答案 2 :(得分:0)

没有办法确保这一点。你可以得到的最接近的是onunload或beforeunload事件。

答案 3 :(得分:0)

使用jQuery时,您可以使用此处发布的示例Call URL before closing of Browser Window

关闭窗口/标签时发出ajax请求的基本思路。

答案 4 :(得分:0)

没有100%,可靠的方式来检测这一点。 可能可以(其他人可以详细说明)在onunload事件上执行一些AJAX调用,你可以用它来执行一些清理,但是你不能依赖它。浏览器可能崩溃,或表现出意想不到的行为。或者用户可能不会长时间关闭浏览器。