【问题标题】:Call onunload function from iframe从 iframe 调用 onunload 函数
【发布时间】:2011-06-07 13:09:18
【问题描述】:

我正在开发一款多人国际象棋游戏作为 Facebook 应用程序。 如果一个玩家通过关闭浏览器离开游戏,另一个玩家应该会收到通知。因此,如果一个播放器关闭了浏览器,则应调用取消链接函数来取消链接播放器。这适用于 Facebook 外部的 onunload。 问题是,Facebook 应用程序是在 iframe 中加载的,而 onunload 事件在那里不起作用。

所以我需要一种在用户关闭浏览器时调用 iframe 中的函数的方法。

【问题讨论】:

    标签: javascript facebook iframe dom-events onunload


    【解决方案1】:

    这可能不是您正在寻找的答案,但在unload 上“注销”将永远不会可靠地工作。举一个极端的例子,考虑浏览器崩溃或被 Windows 任务管理器杀死的情况。所以你最好实现一个额外的机制来检测用户是否离开。通常这是通过定期向服务器发送请求来完成的。如果在很长一段时间内没有收到此请求(意味着连接速度慢或其他故障不会导致此请求),您将取消与该用户的关联。

    也就是说,我测试了 Firefox 4 和 MSIE 8,如果选项卡或浏览器关闭,它们都会在框架上正确触发 unload 事件。 Chrome 12 没有这样做,这可能是您一直在测试的浏览器。我认为这是一个 Chrome 错误。

    【讨论】:

    • 感谢您的回答。我将尝试找到一种向用户发送请求的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-10
    • 2011-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多