我有一个小聊天应用程序,我正在写socketio。我有在Chrome和Firefox中工作的部分,但Internet Explorer 7-9都有问题。
我在socket.io.js之前和之后都包含了WebSocketMainInsecure.swf和WebSocketMain.swf(不是同时),我收到了错误。
这是错误,http://screencast.com/t/uUsnyGLV 我可以告诉它与flash / swf对象有关。这是我包括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版本的socket.io中的错误后,它看起来像缺少id,webSocketFlash的元素。我尝试添加带有该ID的iframe,并尝试将id添加到object标记中。但是仍然有同样的错误。
我在nodejs中也有这个配置。
io.set('transports', [
'websocket'
, 'flashsocket'
, 'htmlfile'
, 'xhr-polling'
, 'jsonp-polling'
]);
此外,我在端口3000上运行nodejs并在端口80上使用apache提供我的文件
答案 0 :(得分:0)
我发现了这个问题。我正在使用location.origin
来创建我的套接字,
var socket = io.connect(location.origin + ":3000");
但是IE没有location.origin。现在我正在使用它,
var socket = io.connect(location.protocol + "//" + location.host + ":3000");