HTML -zelfstudie

HTML HOME HTML-introductie HTML-editors HTML basis HTML-elementen HTML-kenmerken HTML-koppen HTML-alinea's HTML-stijlen HTML-opmaak HTML-citaten HTML-opmerkingen HTML-kleuren HTML-CSS HTML-links HTML-afbeeldingen HTML-favicon HTML-tabellen HTML-lijsten HTML-blok en inline HTML-klassen HTML-ID HTML-iframes HTML-JavaScript Paden voor HTML-bestanden HTML-kop HTML-indeling HTML-responsief HTML-computercode HTML-semantiek HTML-stijlgids HTML-entiteiten HTML-symbolen HTML-emoji's HTML-tekenset HTML-URL-codering HTML versus XHTML

HTML -formulieren

HTML-formulieren HTML-formulierkenmerken HTML-formulierelementen HTML-invoertypen HTML-invoerkenmerken Kenmerken HTML-invoerformulier

HTML -afbeeldingen

HTML-canvas HTML-SVG

HTML- media

HTML-media HTML-video HTML-audio HTML-plug-ins HTML-YouTube

HTML API's

HTML-geolocatie HTML slepen/neerzetten HTML-webopslag HTML-webwerkers HTML-SSE

HTML- voorbeelden

HTML-voorbeelden HTML-quiz HTML-oefeningen HTML-certificaat HTML-samenvatting HTML-toegankelijkheid

HTML- verwijzingen

HTML-taglijst HTML-kenmerken Algemene HTML-kenmerken Ondersteuning voor HTML-browser HTML-gebeurtenissen HTML-kleuren HTML-canvas HTML-audio/video HTML-documenttypen HTML-tekensets HTML-URL-codering HTML-taalcodes HTTP-berichten HTTP-methoden PX naar EM-omzetter Toetsenbord sneltoetsen

HTML SSE-API


Server-Sent Events (SSE) zorgen ervoor dat een webpagina updates van een server kan krijgen.


Door server verzonden gebeurtenissen - One Way Messaging

Een server-verzonden gebeurtenis is wanneer een webpagina automatisch updates ontvangt van een server.

Dit was voorheen ook mogelijk, maar de webpagina zou moeten vragen of er updates beschikbaar waren. Bij door de server verzonden gebeurtenissen komen de updates automatisch.

Voorbeelden: Facebook/Twitter-updates, aandelenkoersupdates, nieuwsfeeds, sportresultaten, etc.


Browserondersteuning

De getallen in de tabel geven de eerste browserversie aan die door de server verzonden gebeurtenissen volledig ondersteunt.

API
SSE 6.0 79.0 6.0 5.0 11.5

Door de server verzonden gebeurtenismeldingen ontvangen

Het EventSource-object wordt gebruikt om door de server verzonden gebeurtenismeldingen te ontvangen:

Voorbeeld

var source = new EventSource("demo_sse.php");
source.onmessage = function(event) {
  document.getElementById("result").innerHTML += event.data + "<br>";
};

Voorbeeld uitgelegd:

  • Maak een nieuw EventSource-object en geef de URL op van de pagina die de updates verzendt (in dit voorbeeld "demo_sse.php")
  • Elke keer dat een update wordt ontvangen, vindt de gebeurtenis onmessage plaats
  • Wanneer een onmessage-gebeurtenis optreedt, plaatst u de ontvangen gegevens in het element met id="result"

Controleer Ondersteuning voor door de server verzonden gebeurtenissen

In het bovenstaande tryit-voorbeeld waren er enkele extra regels code om browserondersteuning voor door de server verzonden gebeurtenissen te controleren:

if(typeof(EventSource) !== "undefined") {
  // Yes! Server-sent events support!
  // Some code.....
} else {
  // Sorry! No server-sent events support..
}


Voorbeeld van server-side code

Om het bovenstaande voorbeeld te laten werken, hebt u een server nodig die gegevensupdates kan verzenden (zoals PHP of ASP).

De syntaxis van de gebeurtenisstroom aan de serverzijde is eenvoudig. Stel de kop "Content-Type" in op "text/event-stream". Nu kunt u gebeurtenisstreams gaan verzenden.

Code in PHP (demo_sse.php):

<?php
header('Content-Type: text/event-stream');
header('Cache-Control: no-cache');

$time = date('r');
echo "data: The server time is: {$time}\n\n";
flush();
?>

Code in ASP (VB) (demo_sse.asp):

<%
Response.ContentType = "text/event-stream"
Response.Expires = -1
Response.Write("data: The server time is: " & now())
Response.Flush()
%>

Code uitgelegd:

  • Stel de kop "Content-Type" in op "text/event-stream"
  • Geef op dat de pagina niet in de cache mag worden opgeslagen
  • Voer de te verzenden gegevens uit ( begin altijd met "data: ")
  • Spoel de uitvoergegevens terug naar de webpagina

Het Event Source-object

In de bovenstaande voorbeelden hebben we de gebeurtenis onmessage gebruikt om berichten op te halen. Maar er zijn ook andere evenementen:

Events Description
onopen When a connection to the server is opened
onmessage When a message is received
onerror When an error occurs