2D Run-and-gun shooter inspired by One Man's Doomsday, Counter-Strike, and Metal Slug.
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. <!DOCTYPE HTML>
  2. <html lang="en-PH">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Websocket Client</title>
  6. <style>
  7. form {
  8. margin: 2em 0;
  9. }
  10. fieldset {
  11. display: contents;
  12. }
  13. legend {
  14. position: absolute;
  15. left: -999999px;
  16. }
  17. legend ~ div {
  18. margin: 0.5em 0;
  19. }
  20. legend ~ div > div {
  21. display: flex;
  22. gap: 0.5em;
  23. }
  24. legend ~ div > div :first-child {
  25. flex: auto;
  26. }
  27. legend ~ div > div :first-child > label {
  28. display: block;
  29. width: 100%;
  30. }
  31. legend ~ div > div :first-child > label > input {
  32. display: block;
  33. width: 100%;
  34. box-sizing: border-box;
  35. }
  36. label {
  37. position: relative;
  38. }
  39. label > span {
  40. position: absolute;
  41. left: -999999px;
  42. }
  43. label + input[type="checkbox"] {
  44. position: absolute;
  45. left: -999999px;
  46. }
  47. textarea {
  48. width: 100%;
  49. box-sizing: border-box;
  50. display: block;
  51. }
  52. </style>
  53. </head>
  54. <body>
  55. <h1>Websocket Client</h1>
  56. <form
  57. id="formConnection"
  58. >
  59. <fieldset>
  60. <legend>Server</legend>
  61. <div>
  62. <div>
  63. <div>
  64. <label>
  65. <span>URL</span>
  66. <input
  67. type="url"
  68. name="serverUrl"
  69. autocomplete="off"
  70. value="ws://localhost:42069"
  71. required
  72. >
  73. </label>
  74. </div>
  75. </div>
  76. </div>
  77. <div>
  78. <div>
  79. <div>
  80. <label>
  81. <span>Username</span>
  82. <input
  83. type="text"
  84. name="username"
  85. autocomplete="off"
  86. value="Web"
  87. required
  88. >
  89. </label>
  90. </div>
  91. </div>
  92. </div>
  93. <button
  94. type="submit"
  95. name="connect"
  96. >
  97. Connect
  98. </button>
  99. </fieldset>
  100. </form>
  101. <form
  102. id="formMessage"
  103. >
  104. <fieldset
  105. name="fieldset"
  106. disabled
  107. >
  108. <legend>Message</legend>
  109. <div>
  110. <div>
  111. <div>
  112. <label>
  113. <span>Message</span>
  114. <input
  115. type="text"
  116. value=""
  117. autocomplete="off"
  118. name="message"
  119. placeholder="Type your message"
  120. >
  121. </label>
  122. <input
  123. type="checkbox"
  124. name="binary"
  125. readonly
  126. tabindex="-1"
  127. />
  128. </div>
  129. <button
  130. type="submit"
  131. >
  132. Send as Text (Enter)
  133. </button>
  134. <button
  135. name="submitBinary"
  136. type="button"
  137. >
  138. Send as Binary (Shift + Enter)
  139. </button>
  140. </div>
  141. </div>
  142. </fieldset>
  143. </form>
  144. <form
  145. id="formLogs"
  146. >
  147. <fieldset>
  148. <legend>Logs</legend>
  149. <div>
  150. <label>
  151. <span>Logs</span>
  152. <textarea
  153. rows="10"
  154. cols="50"
  155. name="logs"
  156. readonly
  157. ></textarea>
  158. </label>
  159. </div>
  160. <button
  161. type="submit"
  162. >
  163. Clear Logs
  164. </button>
  165. </fieldset>
  166. </form>
  167. <script src="index.js"></script>
  168. </body>
  169. </html>