home.html 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>Chat Example</title>
  5. <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
  6. <script type="text/javascript">
  7. $(function() {
  8. var conn;
  9. var msg = $("#msg");
  10. var log = $("#log");
  11. function appendLog(msg) {
  12. var d = log[0]
  13. var doScroll = d.scrollTop == d.scrollHeight - d.clientHeight;
  14. msg.appendTo(log)
  15. if (doScroll) {
  16. d.scrollTop = d.scrollHeight - d.clientHeight;
  17. }
  18. }
  19. $("#form").submit(function() {
  20. if (!conn) {
  21. return false;
  22. }
  23. if (!msg.val()) {
  24. return false;
  25. }
  26. conn.send(msg.val());
  27. msg.val("");
  28. return false
  29. });
  30. if (window["WebSocket"]) {
  31. conn = new WebSocket("ws://{{$}}/ws");
  32. conn.onclose = function(evt) {
  33. appendLog($("<div><b>Connection closed.</b></div>"))
  34. }
  35. conn.onmessage = function(evt) {
  36. appendLog($("<div/>").text(evt.data))
  37. }
  38. } else {
  39. appendLog($("<div><b>Your browser does not support WebSockets.</b></div>"))
  40. }
  41. });
  42. </script>
  43. <style type="text/css">
  44. html {
  45. overflow: hidden;
  46. }
  47. body {
  48. overflow: hidden;
  49. padding: 0;
  50. margin: 0;
  51. width: 100%;
  52. height: 100%;
  53. background: gray;
  54. }
  55. #log {
  56. background: white;
  57. margin: 0;
  58. padding: 0.5em 0.5em 0.5em 0.5em;
  59. position: absolute;
  60. top: 0.5em;
  61. left: 0.5em;
  62. right: 0.5em;
  63. bottom: 3em;
  64. overflow: auto;
  65. }
  66. #form {
  67. padding: 0 0.5em 0 0.5em;
  68. margin: 0;
  69. position: absolute;
  70. bottom: 1em;
  71. left: 0px;
  72. width: 100%;
  73. overflow: hidden;
  74. }
  75. </style>
  76. </head>
  77. <body>
  78. <div id="log"></div>
  79. <form id="form">
  80. <input type="submit" value="Send" />
  81. <input type="text" id="msg" size="64"/>
  82. </form>
  83. </body>
  84. </html>