Information Technology Reference
In-Depth Information
online in grüner Farbe in eine Statuszeile am Ende des HTML-Dokuments. Für
jede Nachricht, die vom Websocket empfangen wird, löst dieser das onmessage -
Event aus. Die Variable e , die dieser Funktion zur Verfügung steht, enthält im
data -Attribut die Nutzdaten, die vom Server gesendet werden. In diesem Bei-
spiel werden die Daten mit JSON.parse in ein JavaScript-Objekt umgewandelt,
was bedeutet, dass der Server einen JSON -String schicken muss (mehr dazu
etwas später). Schlägt die Umwandlung fehl, wird die Funktion beendet, und es
wird eine entsprechende Fehlermeldung auf der HTML-Seite angezeigt.
Eine gültige Nachricht enthält ein JavaScript-Objekt mit Benutzername ( user ),
Nachrichtentext ( text ) und der Farbe, in der die Nachricht angezeigt werden
soll ( color ). Wie in Abbildung  9.1 zu sehen ist, schreibt jeder User in einer
eigenen Zeile und in einer eigenen Farbe. Um die Zuordnung zwischen Farben
und User kümmert sich der Server, das Zuweisen einer neuen Zeile ist auf dem
Client implementiert. Die folgende if -Abfrage überprüft, ob die letzte Nach-
richt vom gleichen User stammt wie die soeben erhaltene. Ist das der Fall, so
wird der innerHTML -Wert der Variable ele mit dem soeben erhaltenen Text be-
legt. Handelt es sich um einen anderen Benutzer oder um die erste Nachricht,
wird ein neuer Absatz mit dem Namen ele erzeugt und an das div -Element mit
der ID broadcast angehängt. Abschließend wird die Variable currentUser auf
den Wert des aktuellen Benutzers gesetzt.
if (currentUser == msg.user) {
ele.innerHTML = msg.text;
} else {
ele = document.createElement("p");
$("broadcast").appendChild(ele);
ele.style.color = msg.color;
ele.innerHTML = msg.text;
currentUser = msg.user;
}
};
};
function sendmsg() {
ws.send($("ta").value);
}
ws.onclose = function(e){
$("status").innerHTML = 'offline';
$("status").style.color = 'red';
};
window.onunload = function(){
ws.close();
};
Search WWH ::




Custom Search