From 52c94958f7b56d6d59b3ef8e7a145489cec9be1d Mon Sep 17 00:00:00 2001 From: Devaev Maxim Date: Thu, 12 Jul 2018 02:32:56 +0000 Subject: better web --- kvmd/web/index.html | 34 +++++++++++++++++++++++----------- kvmd/web/js/kvmd.js | 43 +++++++++++++++++++++++++++++++------------ 2 files changed, 54 insertions(+), 23 deletions(-) diff --git a/kvmd/web/index.html b/kvmd/web/index.html index 609d5021..d5538943 100644 --- a/kvmd/web/index.html +++ b/kvmd/web/index.html @@ -7,22 +7,34 @@ - +
- - - - - - - - - -
    
Not connected yet...
+ + + + + + + + + +
  
+ + + + + + +
  
Not connected yet...
diff --git a/kvmd/web/js/kvmd.js b/kvmd/web/js/kvmd.js index 9e72aebe..dc69bc73 100644 --- a/kvmd/web/js/kvmd.js +++ b/kvmd/web/js/kvmd.js @@ -1,12 +1,7 @@ -KVMD_BASE_URL = "/kvmd" - - -// ----------------------------------------------------------------------------- function runKvmdSession() { - var ws = new WebSocket("ws://" + location.host + KVMD_BASE_URL + "/ws"); + var ws = new WebSocket("ws://" + location.host + "/kvmd/ws"); ws.onopen = function(event) { - alert("Session opened and keyboard will be captured"); __installHidHandlers(ws); __setSessionStatus("session-opened", "Session opened (keyboard captured)"); }; @@ -86,15 +81,39 @@ function clickResetButton() { function __clickButton(button) { var http = new XMLHttpRequest(); - http.open("POST", KVMD_BASE_URL + "/atx/click?button=" + button, true); + http.open("POST", "/kvmd/atx/click?button=" + button, true); http.onreadystatechange = function() { - if (http.readyState == 4) { - if (http.status == 200) { - alert("Clicked!") - } else { - alert("Click error: " + http.responseText); + if (http.readyState == 4 && http.status != 200) { + alert("Click error: " + http.responseText); + } + } + http.send(); +} + + +// ----------------------------------------------------------------------------- +function pollStreamer() { + var http = new XMLHttpRequest(); + http.open("GET", "/streamer/?action=snapshot", true); + http.onreadystatechange = function() { + if (http.readyState == 2) { + http.abort(); + if (http.status != 200) { + document.getElementById("stream-image").src = "/streamer/?action=stream&time=" + new Date().getTime(); } } } http.send(); + setTimeout(pollStreamer, 2000); +} + +function resetStreamer() { + var http = new XMLHttpRequest(); + http.open("POST", "/kvmd/streamer/reset", true); + http.onreadystatechange = function() { + if (http.readyState == 4 && http.status != 200) { + alert("Can't reset streamer: " + http.responseText); + } + } + http.send(); } -- cgit v1.2.3