home.html 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <title>Command 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($("<pre/>").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. #log pre {
  67. margin: 0;
  68. }
  69. #form {
  70. padding: 0 0.5em 0 0.5em;
  71. margin: 0;
  72. position: absolute;
  73. bottom: 1em;
  74. left: 0px;
  75. width: 100%;
  76. overflow: hidden;
  77. }
  78. </style>
  79. </head>
  80. <body>
  81. <div id="log"></div>
  82. <form id="form">
  83. <input type="submit" value="Send" />
  84. <input type="text" id="msg" size="64"/>
  85. </form>
  86. </body>
  87. </html>