代码之家  ›  专栏  ›  技术社区  ›  Adam Kiss

在关闭浏览器窗口之前做些什么

  •  1
  • Adam Kiss  · 技术社区  · 15 年前

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

    因为它在flash中,我们不担心javascript,我们不支持非javascript用户。

    调用PHP脚本关闭会话、进行一些数据库更改等最安全的方法是什么(意味着它100%肯定会被调用)?

    谢谢你

    5 回复  |  直到 15 年前
        1
  •  3
  •   Quentin    15 年前

    没有一种方法可以百分之百地肯定是有效的。如果存在网络问题、电源中断等,则无法从客户端获取信号。

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

        2
  •  0
  •   ThiefMaster    15 年前

    OnBeforeUnload和/或OnUnload事件可能是您要查找的内容。 您可能可以在那里触发一个Ajax调用,但是当页面实际被加载时,它可能会被中断。

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

        3
  •  0
  •   RoToRa    15 年前

    没有办法确保这一点。最接近的方法是在OnUnload或Unload事件之前执行某些操作。

        4
  •  0
  •   Community CDub    8 年前

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

    当窗口/选项卡被关闭时发出Ajax请求的基本思想。

        5
  •  0
  •   Daan    15 年前

    没有100%的检测方法。它 可以 可以(其他人可能会对此进行详细说明)在 onunload 事件,您可以使用它执行一些清理,但不能依赖于此。浏览器可能会崩溃,或者表现出不被怀疑的行为。或者用户可能很长时间没有关闭浏览器。