main.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. window.onload = function() {
  2. const config = {
  3. "game": "testing",
  4. "user": "test_user",
  5. };
  6. const rawHash = window.location.hash;
  7. if (rawHash) {
  8. const hash = rawHash.substr(1, rawHash.length).split(",");
  9. for (let i in hash) {
  10. let elements = hash[i].split(":");
  11. if (elements.length != 2) {
  12. continue;
  13. }
  14. config[elements[0]] = elements[1];
  15. }
  16. }
  17. var loc = window.location, new_uri;
  18. if (loc.protocol === "https:") {
  19. new_uri = "wss:";
  20. } else {
  21. new_uri = "ws:";
  22. }
  23. new_uri += "//" + loc.host;
  24. new_uri += loc.pathname + "socket";
  25. const socket = new WebSocket(new_uri);
  26. socket.addEventListener("open", function (event) {
  27. console.log("Connected to server!");
  28. socket.send(JSON.stringify(config));
  29. });
  30. socket.addEventListener("message", function (event) {
  31. msg = JSON.parse(event.data);
  32. var chat = $(".messages");
  33. chat.append(`<div class="msg"><span class="author">${msg.author}:</span> ${msg.content}</div>`);
  34. chat.animate({scrollTop: chat.prop('scrollHeight')});
  35. });
  36. $('#chatbox').on('keypress', function (e) {
  37. if (e.which === 13) {
  38. $(this).attr("disabled", "disabled");
  39. socket.send(JSON.stringify({"content": $('#chatbox').val()}))
  40. $('#chatbox').val('');
  41. $(this).removeAttr("disabled");
  42. }
  43. });
  44. };