我有一个小小的聊天应用程序,我正在用socketio编写。我在Chrome和Firefox中都可以使用这些作品,但Internet Explorer 7-9都存在问题。在Internet Explorer中只有socketio问题
我已经在socket.io.js之前和之后包含了WebSocketMainInsecure.swf和WebSocketMain.swf(不在同一时间),并且我得到错误。
这是错误,http://screencast.com/t/uUsnyGLV 我可以告诉它与flash/swf对象有关。这是我包括瑞士法郎,
<object width="0" height="0">
<param value="resources/lib/socketio/WebSocketMainInsecure.swf">
<embed src="resources/lib/socketio/WebSocketMainInsecure.swf">
</embed>
</object>
<script type="text/javascript" src="resources/lib/socketio/socket.io.js"></script>
任何想法我做错了什么? 谢谢!
编辑 - 在查看socket.io的dev版本中的错误后,它看起来像缺少id为webSocketFlash的元素。我尝试添加一个带有该id的iframe,并尝试将id添加到object标签。尽管如此,仍然有相同的错误。
我也在nodejs中有这个配置。
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
而且我在3000端口上运行和的NodeJS端口80上
我不是英雄在node.js如果这是什么,但你可以删除生产settigs? https://github.com/LearnBoost/socket.io/wiki/Configuring-Socket.IO类似浏览器客户端缩小和日志级别。看看你如何设置NODE_ENV标志并设置一个环境变量来启动你的应用程序时进行调试。 – HMR 2013-03-07 04:20:50
@HMR我使用非缩小版本更新了错误消息 – sissonb 2013-03-07 04:38:21
不知道您应该如何设置套接字以及应该根据您的设置动态生成多少html,但该对象以后没有ID它尝试获取该(flash)对象的代码:document.getElementById(“webSocketFlash”)并返回null。然后它会尝试调用导致错误的空对象的方法。请给您的<对象一个匹配的ID或再次检查手册。也许有人在websocket有更多的经验可以给你一个提示。 – HMR 2013-03-07 05:06:54