16 lines
416 B
JavaScript
16 lines
416 B
JavaScript
function streamTextToElement(element) {
|
|
const url = element.dataset.sseUrl;
|
|
if (!url) {
|
|
return;
|
|
}
|
|
|
|
const source = new EventSource(url);
|
|
source.onmessage = (event) => {
|
|
element.textContent += `${event.data}\n`;
|
|
element.scrollTop = element.scrollHeight;
|
|
};
|
|
}
|
|
|
|
document.addEventListener("DOMContentLoaded", () => {
|
|
document.querySelectorAll("[data-sse-url]").forEach(streamTextToElement);
|
|
});
|