2015-04-18 43 views
1

我正在使用WebSocket來顯示一個特定的值,這個值表示在我所有站點的所有訪問中有多少秒已經過去了。例如,如果用戶A在我的網站上花費20秒,則用戶B花費30秒,並且用戶C花費10秒,將60秒添加到計數器。計數器不斷更新。這是我的JavaScript和HTML代碼。現在,我想從HTML中刪除表單,但是當我這樣做時,我得到文本「[object HTMLTextAreaElement]」。我怎樣才能解決這個問題並讓我的網站進入?當我在HTML中刪除表單時,爲什麼我的WebSocket不工作?

var socket = new WebSocket('ws://echo.websocket.org'); 
 
function count() { 
 
\t if(! counter){ 
 
\t \t var counter = 1; 
 
\t } else { 
 
\t \t counter = counter + 1; 
 
\t }; 
 
\t socket.send(counter); 
 
\t document.getElementById('messages').innerHTML = '<li>' + message + '</li>'; 
 
} 
 
setInterval(count, 1000); 
 
count(); 
 
window.close() = function() { 
 
\t socket.close(); 
 
};
<!DOCTYPE html> 
 
<html lang="en"> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <title> 
 
     WebSockets Demo 
 
    </title> 
 
    </head> 
 
    <body> 
 
    <div id="page-wrapper"> 
 
     <h1> 
 
     WebSockets Demo 
 
     </h1> 
 
     <ul id="messages"> 
 
     </ul> 
 
     <form id="message-form" action="#" method="post"> 
 
     <textarea id="message" required></textarea> 
 
     <button type="submit"> 
 
      Send Message 
 
     </button> 
 
     </form> 
 
    </div> 
 
    <script src="app.js"> 
 
    </script> 
 
    </body> 
 
</html>

回答

0

您的變量message是不是在你的代碼中定義。因此,它會使用相應的ID引用您的HTML DOM,即<textarea id="message" required></textarea>

我假設你想顯示來自echo服務器的返回消息。如果是這樣,代碼如下:

var socket = new WebSocket('wss://echo.websocket.org'); 
 
var counter = 0; 
 
function count() { 
 
\t counter++; 
 
\t socket.send(counter); 
 
} 
 
socket.onmessage = function(evt){ 
 
    document.getElementById('messages').innerHTML += '<li>' + evt.data + '</li>'; 
 
}; 
 
socket.onopen = function(){ 
 
    setInterval(count, 1000); 
 
    count(); 
 
}; 
 
window.close() = function() { 
 
\t socket.close(); 
 
};
<!DOCTYPE html> 
 
<html lang="en"> 
 
    <head> 
 
    <meta charset="utf-8"> 
 
    <title> 
 
     WebSockets Demo 
 
    </title> 
 
    </head> 
 
    <body> 
 
    <div id="page-wrapper"> 
 
     <h1> 
 
     WebSockets Demo 
 
     </h1> 
 
     <ul id="messages"> 
 
     </ul> 
 
     <form id="message-form" action="#" method="post"> 
 
     <textarea id="message" required></textarea> 
 
     <button type="submit"> 
 
      Send Message 
 
     </button> 
 
     </form> 
 
    </div> 
 
    <script src="app.js"> 
 
    </script> 
 
    </body> 
 
</html>

相關問題