30 lines
668 B
JavaScript
30 lines
668 B
JavaScript
const ws = new WebSocket(`ws://${location.host}`);
|
|
const messagesDiv = document.getElementById("messages");
|
|
const input = document.getElementById("input");
|
|
|
|
ws.onmessage = (event) => {
|
|
const msg = document.createElement("div");
|
|
msg.textContent = event.data;
|
|
messagesDiv.appendChild(msg);
|
|
messagesDiv.scrollTop = messagesDiv.scrollHeight;
|
|
};
|
|
|
|
function sendMessage() {
|
|
const text = input.value;
|
|
if (text.trim()) {
|
|
ws.send(
|
|
JSON.stringify({
|
|
type: "send",
|
|
data: {
|
|
content: text,
|
|
},
|
|
}),
|
|
);
|
|
input.value = "";
|
|
}
|
|
}
|
|
|
|
input.addEventListener("keypress", (e) => {
|
|
if (e.key === "Enter") sendMessage();
|
|
});
|