Javascript 通道API套接字不';在Firefox中首次加载时无法打开

Javascript 通道API套接字不';在Firefox中首次加载时无法打开,javascript,google-app-engine,comet,channel-api,Javascript,Google App Engine,Comet,Channel Api,我有一个2人的cardgame应用程序,我使用应用程序引擎和channel API构建。在大多数情况下,它工作得很好,但我在Firefox中遇到了一个奇怪的问题 当我在Firefox中进入游戏时,我调用socket.open,但什么也没发生。我从来没有收到onopen的回拨,也没有收到任何我知道应该在路上的消息。奇怪的是,如果我刷新页面,那么频道就会正确打开!这只发生在Firefox中,所有其他浏览器都可以正常工作。另外,如果我打开了Firebug,那么通道将正确打开。所以,看起来这可能是一个时

我有一个2人的cardgame应用程序,我使用应用程序引擎和channel API构建。在大多数情况下,它工作得很好,但我在Firefox中遇到了一个奇怪的问题

当我在Firefox中进入游戏时,我调用socket.open,但什么也没发生。我从来没有收到onopen的回拨,也没有收到任何我知道应该在路上的消息。奇怪的是,如果我刷新页面,那么频道就会正确打开!这只发生在Firefox中,所有其他浏览器都可以正常工作。另外,如果我打开了Firebug,那么通道将正确打开。所以,看起来这可能是一个时间问题。一些更相关的细节:

  • 引用jsapi的脚本标记不在head标记内,而是在body内
  • 我正在调用jquery的$(document).ready回调中的socket.open
  • 我在错误控制台中没有看到任何脚本错误。它只是默默地失败了
有什么想法吗?如果不是为了修复,那么是否有人至少知道我如何从通道API获取日志信息,我可以在模糊的源代码中看到它记录了不同的内容,但不知道如何获取日志消息。

有两件事需要尝试:

  • 将jsapi引用移动到HEAD部分
  • 尝试使用$(文档)。改为加载回调
正如你提到的,这听起来确实像是时间问题

要尝试两件事:

  • 将jsapi引用移动到HEAD部分
  • 尝试使用$(文档)。改为加载回调
正如你提到的,这听起来确实像是时间问题