Während beim Meta - Refresh im vorherigen Beispiel zur Darstellung des aktuellen Webcam - Bildes die gesamte Seite geladen wurde, was zu einer bestimmten Unruhe führte, wird beim Refresh durch dynamisches HTML lediglich das Bild selbst erneuert. Das reduziert natürlich die Ladezeit, besonders für Besucher mit analogem oder ISDN - Modem. Diese einfache Methode benötigt kein spezielles Java Applet oder einen Player, denn jeder moderne Browser kann dynamisches HTML darstellen.
Auch hier sieht der Besucher im Offline - Status der Webcam bzw. Ihres Rechners das zuletzt gesendete Bild oder aber ein speziell erstelltes Offline - Bild.
Die Beschreibungen, die ich kenne, sind bisher sehr oberflächlich gehalten. Das Wesentliche aber :
Dynamisches HTML liefert eine neue Technik für den periodischen Bilder - Download ohne ein Java-Applet. Realisiert wird das durch die reloadImg() - Funktion ( reload = lade noch einmal, lade neu und img = image / Bild ) in JavaScript.
An dieser Stelle ein Hinweis. Java und JavaScript wird häufig verwechselt, besonders durch faule Webmaster. JavaScript ist direkt als eine ergänzende Programmiersprache zur Optimierung von Web - Seiten ( HTML - Seiten ) geschaffen worden. Für unser Beispiel also eine berechtigte Lösung, zudem mit wesentlich höherer Sicherheitskomponente für den Besucher als mit Java. JavaScript interpretiert jeder aktuelle Browser, in den Rechner bzw. sein Betriebssystem wird nicht eingegriffen. Das ist beim Java völlig anders ...
Java ist eine plattformunabhängige Programmiersprache und kann deshalb auf allen Betriebssystemen eingesetzt werden. Sie zeichnet sich durch breite Einsatzmöglichkeiten aus, verlangt allerdings die zusätzliche Installation eines speziellen Interpreters auf dem Rechner des Besuchers. Aus der Sicht des Webcam - Webmasters spielt Java noch eine große Rolle. Mit ihr geschriebene Programme / Java Applets können auf allen Systemen eingesetzt werden, was wir vor allem zur Widergabe des Video- und Audio - Streams innerhalb verschiedener Browser ( Betriebssysteme ) verwenden werden.
Ausführliche und genauere Beschreibungen von JavaScript und Java finden Sie bei SELFHTML und auf der Java - Seite.
Zurück aber zu unserem dynamischen HTML :
Die reloadImg() - Funktion lädt immer das Bild neu, das durch "imgToReload" festgelegt wird ( img=image / Bild, ToReload=zum Neuladen). Gleichzeitig wird durch eine Täuschung die Datenbanksuchroutine* des Cache außer Kraft gesetzt. Es wird simuliert, dass das Bild noch nicht "richtig" geladen ist und deshalb noch einmal geholt werden muss.
1. Um das Webcam - Bild durch dynamisches HTML zu erneuern, setzen wir in den Quelltext der Webcam - Seite unmittelbar vor dem Ende des Headers die Funktion zum nochmaligen Zurückgehen ein (go back). Dazu übernehmen Sie rot markierten Text :
<title>angelpage.de - Testseite dynamisches html mit Countdown</title>
<script LANGUAGE="JavaScript"><!--
function back() {
history.go(-1);
}
//--></script>
</head>
2. Unter Berücksichtigung Ihres Pfades und Ihrer Bildbezeichnung fügen Sie den Bild-Tag in den Body ein :
<body>
<img name="dyn_bild" src="webcam/cam_1.jpg" width="320" height="240">
3. Unmittelbar darunter positionieren Sie das JavaScript
<script
LANGUAGE="JavaScript"><!--
function reloadImage() {
var now = new Date();
if (document.images) {
document.images.dyn_bild.src = ' webcam/cam_1.jpg?' + now.getTime();
}
setTimeout('reloadImage()',5000);
}
setTimeout('reloadImage()',5000);
//--></script>
Im Javascript wird festgelegt, dass das Webcam- Bild alle 5 Sekunden ( Angabe in tausendstel Sekunden, d.h. konkret 5000 durch tausend in Sekunden) erneuert werden soll. Praktisch lasse ich es jedoch (siehe im Quelltext dieser Seite) jede Sekunde erneuern, vorausgesetzt, der Dorgem- Webcam- Server arbeitet.
Aus dem relativen Pfad zum Bild im rot markierten Quelltext sollten Sie erkennen, dass sich das Bild selbst auf meinem Webspace im Ordner "webcam" mit der Bezeichnung "cam_1.jpg" befindet. Natürlich können Sie auch den absoluten Pfad verwenden, also in der Form "http://www.angelpage.de/webcam/cam_1.jpg" .
Praktisch verwende ich dagegen für mein dynamisches Webcam- HTML den direkten Zugriff auf einen Webcam- Server Dorgem , der einzelne Frames im JPG- Format liefert) - http://angelpage.dyndns.tv:8002/ .
Täuschung die Datenbanksuchroutine - der Browser stellt bei verzögertem oder langsamen Download das eventuell bereits im Cache/ Zwischenspeicher gespeichert Webcam- Bild dar - es trägt ja den identischen Dateinamen und kann viel schneller geladen werden. Es würde damit aber keine Aktualisierung / Erneuerung des Webcam- Bildes geben. Deshalb legt das Javascript für Dynamisches HTML fest, dass unbedingt ein Neuladen des Webcam- Bildes vom Server "von Anfang an" erfolgen soll.
