2012-01-02 48 views
3

我正在编写多房间聊天服务器以学习nodejs。无法打开的页面刷新在socket.io消息后触发

的代码是在这里:https://github.com/DanielHeath/furious-earth-2/tree/backbone 和应用程序是住在这里:http://furious-earth.herokuapp.com/

的问题是,在开发模式下运行时,只要您登录到一个房间里的页面刷新。

我到目前为止已经发现:

  • 这不会在生产发生
  • 任何你写到控制台时丢失的页面重新加载
  • 铬调试器崩溃,如果标签你使用它与socket.io代码
  • Firefox的调试器不会停止页面重新加载
  • 该网址得到'?'附加参数

我不明白是什么导致它 - 甚至如何调试它。

有什么想法?

+1

如果您将代码中您怀疑与问题有关的部分摘录出来,这将有很大帮助;可能是触发socket.io操作的客户端代码。导致意外页面刷新的一个常见原因是,导致页面自然刷新的元素的事件处理程序(''表单提交元素的标记)不能正确地阻止默认操作 – Pointy 2012-01-02 00:50:57

+1

谢谢 - 表单提交是在执行此操作。想要重新提交您的评论作为答案,以便我可以接受它? – 2012-01-02 09:24:50

+0

好的将会 - 很高兴我猜对了:-) – Pointy 2012-01-02 13:28:14

回答

1

一件事是寻找:在你的网页势必<a>元素或事情,引起表单提交(<button>标签,类型为“提交”,或“提交” <input>元素和其他类似的东西的事件处理程序)。如果这些不能正确地阻止“点击”事件的默认操作,则浏览器将最终重新加载页面。

相关问题