3 <title>Merica Terminal</title>
4 <script type="text/javascript" src="//dejvice.merica.cz:5000/js" async></script>
9 console.log("connecting...");
10 socket = new WebSocket(
11 "ws://" + document.domain + ':' + location.port,
12 "merica-terminal-protocol"
15 socket.onopen = function() {
16 console.log("socket open");
17 updateLocal("socket open");
20 socket.onclose = function() {
21 console.log("socket closed");
22 updateLocal("socket closed");
24 setTimeout(connect, 10000);
27 socket.onmessage = function(msg) {
28 updateLocal(msg.data);
29 if (typeof updateRemote === "function") {
30 updateRemote(msg.data);
34 localStorage.setItem(now, msg.data);
35 console.log(now + ": " + msg.data);
43 function updateLocal(msg) {
44 document.getElementById("localJSON").innerHTML = msg;
46 function printLocalStorage() {
49 if (localStorage.length) {
50 for (var i = 0; i < localStorage.length; i++) {
51 output += localStorage.key(i) + ': ' + localStorage.getItem(localStorage.key(i)) + '<br>';
54 output += "nobody here anymore!";
57 output += "localStorage not supported";
63 function clearLocalStorage() {
69 function sendReset() {
74 function sendClose() {
84 <h1>Merica Terminal</h1>
85 <button onclick="sendReset()">reset</button>
86 <span style="display:inline-block; width: 20pt;"></span>
87 <button onclick="sendClose()">close</button>
88 <span style="display:inline-block; width: 20pt;"></span>
89 <button onclick="printLocalStorage()">storage</button>
90 <span style="display:inline-block; width: 20pt;"></span>
91 <button onclick="clearLocalStorage()">clear</button>
92 <span style="display:inline-block; width: 20pt;"></span>
93 <button onclick="location.reload()">reload</button>
94 <p id="localJSON">no data received</p>
98 <div id="remote"><center>all alone in a danger zone...</center></div>