我有一個小小的聊天應用程序,我正在用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