<title>IID Coffee Terminal</title>
<script>
function loadServerScript() {
- let script = document.createElement('script');
- script.src = "http://localhost:5000/js";
- document.head.append(script);
- script.onerror = function() {
- this.parentElement.removeChild(this);
- setTimeout(loadServerScript, 10000);
- };
+ let script = document.createElement('script');
+ script.src = "http://localhost:5000/js";
+ document.head.append(script);
+ script.onerror = function() {
+ this.parentElement.removeChild(this);
+ setTimeout(loadServerScript, 10000);
+ };
}
loadServerScript();
function connect() {
console.log("connecting...");
- socket = new WebSocket(
+ socket = new WebSocket(
"ws://" + document.domain + ':' + location.port,
"merica-terminal-protocol"
- );
+ );
- socket.onopen = function() {
+ socket.onopen = function() {
console.log("socket open");
document.getElementById("inputStatus").innerHTML = "connected";
- }
+ }
- socket.onclose = function() {
+ socket.onclose = function() {
console.log("socket closed");
document.getElementById("inputStatus").innerHTML = "disconnected";
- delete socket;
- setTimeout(connect, 10000);
- }
+ delete socket;
+ setTimeout(connect, 10000);
+ }
- socket.onmessage = function(msg) {
+ socket.onmessage = function(msg) {
updateJSONmsg(msg.data);
if (typeof updateRemote === "function") {
- updateRemote(msg.data);
+ updateRemote(msg.data);
} else {
- if (localStorage) {
- var now = Date.now();
- localStorage.setItem(now, msg.data);
- console.log(now + ": " + msg.data);
- }
+ if (localStorage) {
+ let queue = JSON.parse(localStorage.getItem("offlineQueue")) || [];
+ queue.push({ time: Date.now(), data: msg.data });
+ try {
+ localStorage.setItem("offlineQueue", JSON.stringify(queue));
+ }
+ catch (err) {
+ console.log(err);
+ }
+ }
}
- }
+ }
}
connect();