2012-02-21 3 views
2

私はJavaScriptでバイナリデータを読み込もうとしています。ネット上にBinaryReader.jsが1つあります。 Default.aspxがある場所にそのファイルをコピーしました。次のようなコードを書くと、プロジェクトがビルドされて実行されていますが、ハンドシェイクが完了していません。 src = "BinaryReader.js"を削除すると、ハンドシェイクが正常に行われます。だから私の質問は、私は同じasp.netページで自分のスクリプトと一緒に外部のスクリプトを使用することはできますか?はいの場合、私は間違って何をしていますか?同じasp.netページでスクリプトと一緒に外部スクリプトを使用できますか?

<script src="BinaryReader.js" language="javascript" type = "text/javascript"> 
    var ws; 
    function btnConnectSend_onclick() { 
     if ("WebSocket" in window) { 
      ws = new WebSocket("ws://localhost:35000/"); 
      ws.onopen = function() { 
       alert("Connection Open......"); 
      }; 
      ws.onmessage = function(evt) { 
       var reader = new BinaryReader(evt.data); 
       var tag = reader.readString(26); 
       //var txt = document.createTextNode(evt.data.toString()); 
       form1.txtMessage.appendChild(tag); 
      }; 
      ws.onclose = function() { 
       alert("Socket Closed!!!"); 
      }; 

      ws.onerror = function() { 
       alert("WTF!"); 
      }; 
     } 
    } 

    function btnClose_onclick() { 
     ws.close(); 
    }; 

</script> 

答えて

1

いいえ、コードに別のスクリプトブロックを作成するか、スクリプトファイルに配置する必要があります。

<script src="BinaryReader.js" language="javascript" type = "text/javascript"></script> 
<script language="javascript" type = "text/javascript"> 
    var ws; 
    function btnConnectSend_onclick() { 
     if ("WebSocket" in window) { 
      ws = new WebSocket("ws://localhost:35000/"); 
      ws.onopen = function() { 
       alert("Connection Open......"); 
      }; 
      ws.onmessage = function(evt) { 
       var reader = new BinaryReader(evt.data); 
       var tag = reader.readString(26); 
       //var txt = document.createTextNode(evt.data.toString()); 
       form1.txtMessage.appendChild(tag); 
      }; 
      ws.onclose = function() { 
       alert("Socket Closed!!!"); 
      }; 

      ws.onerror = function() { 
       alert("WTF!"); 
      }; 
     } 
    } 

    function btnClose_onclick() { 
     ws.close(); 
    }; 

</script> 
+0

ありがとうございます! reader.readString()呼び出しは実行されません。しかし、私はここに投稿された質問の答えを得た –

0

これはページ応答に追加されます、あなたがそれを使用することができるように、スクリプトタグの1つの以上のブロックを作成し、ページに含まれており、そこから関数を呼び出します。

<script src="BinaryReader.js" language="javascript" type = "text/javascript"></script> 

<script type="text/javascript"> 
/// put your all Js Code of btnsendClick 
</script> 
関連する問題