left4me/components/l4d2-web-app/src/l4d2web/static/js/sse.js

19 lines
529 B
JavaScript

function streamTextToElement(url, elementId) {
const target = document.getElementById(elementId);
if (!target) {
return;
}
const source = new EventSource(url);
source.onmessage = (event) => {
target.textContent += `${event.data}\n`;
target.scrollTop = target.scrollHeight;
};
}
document.addEventListener("DOMContentLoaded", () => {
const serverLog = document.getElementById("server-log-stream");
if (serverLog) {
streamTextToElement(serverLog.dataset.serverLogUrl, "server-log-stream");
}
});