better web

This commit is contained in:
Devaev Maxim 2018-07-12 02:32:56 +00:00
parent cd0ce2d6be
commit 52c94958f7
2 changed files with 55 additions and 24 deletions

View File

@ -7,22 +7,34 @@
</head>
<script src="js/kvmd.js"></script>
<script> window.onload = runKvmdSession; </script>
<script>
window.onload = function() {
runKvmdSession();
pollStreamer();
}
</script>
<body>
<div class="stream-box">
<img src="/streamer/?action=stream" id="stream-image" class="stream-image" alt="" />
</div>
<table><tr>
<td><div id="power-led" class="power-led-off"></div></td>
<td><div id="hdd-led" class="hdd-led-off"></div></td>
<td>&nbsp;&nbsp;</td>
<td><button id="power-button" type="button" title="Click hardware power button" onclick="clickPowerButton();">Power</button></td>
<td><button id="power-button-long" type="button" title="Click hardware power button (long press)" onclick="clickPowerButtonLong();">Power (long)</button></td>
<td><button id="reset-button" type="button" title="Click to force reset" onclick="clickResetButton();">Reset</button></td>
<td>&nbsp;&nbsp;</td>
<td><div id="session-status">Not connected yet...</div></td>
</tr></table>
<table>
<tr>
<td><div id="power-led" class="power-led-off"></div></td>
<td><div id="hdd-led" class="hdd-led-off"></div></td>
<td>&nbsp;&nbsp;</td>
<td><button id="power-button" type="button" title="Click hardware power button" onclick="clickPowerButton();">Power</button></td>
<td><button id="power-button-long" type="button" title="Click hardware power button (long press)" onclick="clickPowerButtonLong();">Power (long)</button></td>
<td><button id="reset-button" type="button" title="Click to force reset" onclick="clickResetButton();">Reset</button></td>
</tr>
</table>
<table>
<tr>
<td><button id="restart-stream-button" type="button" title="Click here if your video looks like a crap" onclick="resetStreamer();">Restart video</button></td>
<td>&nbsp;&nbsp;</td>
<td><div id="session-status">Not connected yet...</div></td>
</tr>
</table>
</body>
</html>

View File

@ -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,14 +81,38 @@ 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();