blob: 7e500c9295fc62791349354df3981576854e3841 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
<html>
<header>
<title>@title</title>
<meta charset="utf-8"/>
@css 'assets/site.css'
</header>
<body>
<h1>@title</h1>
<button>Close the connection</button>
<ul></ul>
<script>
"use strict";
var button = document.querySelector('button');
var eventList = document.querySelector('ul');
const evtSource = new EventSource('/sse');
evtSource.onerror = function() { console.log("EventSource failed."); };
console.log(evtSource.withCredentials);
console.log(evtSource.readyState);
console.log(evtSource.url);
evtSource.onopen = function() {
console.log("Connection to server opened.");
};
evtSource.onmessage = function(e) {
var newElement = document.createElement("li");
newElement.textContent = "message: " + e.data;
eventList.appendChild(newElement);
};
evtSource.addEventListener("ping", function(e) {
console.log(e)
var newElement = document.createElement("li");
var obj = JSON.parse(e.data);
newElement.innerHTML = "ping at " + obj.time + ' server data: ' + e.data;
eventList.appendChild(newElement);
}, false);
button.onclick = function() { console.log('Connection closed'); evtSource.close(); };
</script>
</body>
</html>
|