Advertisement
Guest User

Untitled

a guest
Sep 10th, 2022
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.75 KB | None | 0 0
  1. <html>
  2.     <head>
  3.         <title>Welcome To Skillbox Chat 5000</title>
  4.         <script language="javascript">
  5.             //alert("Ваш код на Джаваскрипте идеален!")
  6.             // Начинаем работу, когда загрузится вся страница
  7.             // () => {}
  8.            
  9.             window.addEventListener("load", () => {
  10.                 const ws = new WebSocket("ws://127.0.0.1:9001/");
  11.  
  12.                 const messages_list = document.getElementById("messages_list");
  13.                 const user_name = document.getElementById("user_name");
  14.                 const set_name_button = document.getElementById("set_name_button");
  15.                 const msg_text = document.getElementById("msg_text");
  16.                 const public_msg_button = document.getElementById("public_msg_button");
  17.  
  18.                 const display_message = (name, text) => {
  19.                     const message_div = document.createElement("div");
  20.                     message_div.innerText = `[${name}]: ${text}`;
  21.                     messages_list.append(message_div);
  22.                };
  23.  
  24.                 ws.onmessage = ({ data }) => {
  25.                     const payload = JSON.parse(data);
  26.                     if (payload["error"]) {
  27.                         alert(payload["error"]);
  28.                     }
  29.                     if (payload["command"] == "public_msg") {
  30.                         const text = payload["text"];
  31.                         const user_from = payload["user_from"];
  32.                         const user_name = payload["user_name"];
  33.                         display_message(`${user_name}#${user_from}`, text);
  34.                     }
  35.                 };
  36.                
  37.                 set_name_button.addEventListener("click", () => {
  38.                     const payload = { "command": "set_name", "name": user_name.value };
  39.                     ws.send(JSON.stringify(payload));
  40.                 });
  41.  
  42.                 public_msg_button.addEventListener("click", () => {
  43.                     const payload = { "command": "public_msg", "text": msg_text.value };
  44.                     display_message("Я", msg_text.value);
  45.                     ws.send(JSON.stringify(payload));
  46.                     msg_text.value = "";
  47.                 });
  48.             });
  49.         </script>
  50.     </head>
  51.     <body>
  52.         <b>Укажите имя:</b>
  53.         <input type="text" id="user_name"/>
  54.         <input type="button" value="Сохранить" id="set_name_button" />
  55.         <br />
  56.  
  57.         <input type="text" placeholder="Текст сообщения" id="msg_text"/>
  58.         <input type="button" value="Отправить Публично" id="public_msg_button"/>
  59.         <div id="messages_list">
  60.  
  61.         </div>
  62.     </body>
  63. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement