3 <title>IID Coffee Terminal</title>
5 function loadServerScript() {
6 let script = document.createElement('script');
7 script.src = "http://10.35.95.2/coffee/js";
8 document.head.append(script);
9 script.onerror = function() {
10 this.parentElement.removeChild(this);
11 setTimeout(loadServerScript, 10000);
20 console.log("connecting...");
21 socket = new WebSocket(
22 "ws://" + document.domain + ':' + location.port,
23 "merica-terminal-protocol"
26 socket.onopen = function() {
27 console.log("socket open");
28 document.getElementById("inputStatus").innerHTML = "connected";
31 socket.onclose = function() {
32 console.log("socket closed");
33 document.getElementById("inputStatus").innerHTML = "disconnected";
35 setTimeout(connect, 10000);
38 socket.onmessage = function(msg) {
39 updateJSONmsg(msg.data);
40 if (typeof updateRemote === "function") {
41 updateRemote(msg.data);
45 localStorage.setItem(now, msg.data);
46 console.log(now + ": " + msg.data);
54 function updateJSONmsg(msg) {
55 document.getElementById("localJSON").innerHTML = msg;
57 function printLocalStorage() {
60 if (localStorage.length) {
61 for (var i = 0; i < localStorage.length; i++) {
62 output += localStorage.key(i) + ': ' + localStorage.getItem(localStorage.key(i)) + '<br>';
65 output += "nobody here anymore!";
68 output += "localStorage not supported";
71 updateJSONmsg(output);
74 function clearLocalStorage() {
80 function sendReset() {
85 function sendClose() {
93 <h1>IID Coffee Terminal</h1>
96 <div id="remote"><center>No data from server.</center></div>
102 <button onclick="sendReset()">reset</button>
103 <span style="display:inline-block; width: 20pt;"></span>
104 <button onclick="sendClose()">close</button>
105 <span style="display:inline-block; width: 20pt;"></span>
106 <button onclick="printLocalStorage()">storage</button>
107 <span style="display:inline-block; width: 20pt;"></span>
108 <button onclick="clearLocalStorage()">clear</button>
109 <span style="display:inline-block; width: 20pt;"></span>
110 <button onclick="location.reload()">reload</button>
111 <p>Input: <span id="inputStatus"></span>, JSON message: <span id="localJSON">no data received</span></p>