0

私はsocketioで書いている小さなチャットアプリを持っています。ChromeとFirefoxで動作する部分がありますが、InternetExplorer7-9にはすべて問題があります。

socket.io.jsの前後の両方にWebSocketMainInsecure.swfとWebSocketMain.swf(同時にではない)を含めましたが、エラーが発生します。

これはエラーです。http://screencast.com/t/uUsnyGLV フラッシュ/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.ioの開発バージョンでエラーを確認したところ、idを持つ要素webSocketFlashが欠落しているように見えます。そのIDでiframeを追加し、オブジェクトタグにIDを追加してみました。それでも同じエラーが発生します。

nodejsにもこの構成があります。

io.set('transports', [
    'websocket'
    , 'flashsocket'
    , 'htmlfile'
    , 'xhr-polling'
    , 'jsonp-polling'
]);

また、ポート3000でnodejsを実行し、ポート80でApacheを使用してファイルを提供しています。

4

1 に答える 1

0

問題を見つけました。私はlocation.originこのようなソケットを作成するために使用していました、

var socket = io.connect(location.origin + ":3000");

しかし、IEにはlocation.originがありません。今、これを使っています、

var socket = io.connect(location.protocol + "//" + location.host + ":3000");
于 2013-03-07T06:01:21.410 に答える