HTML and CSS Reference
In-Depth Information
Betrachten wir zunächst die iWebKit-basierte UI dieser Webseite, die durch ein von
dieser Seite referenziertes Cache-Manifest offline verfügbar gemacht wird. Wie Sie sich
vorstellen können, müssen zahlreiche Ressourcen (JavaScript, CSS, Bilder), die im
Zusammenhang mit iWebKit stehen, gecacht werden. Die beiden folgenden Screenshots
zeigen die Webseite in Aktion.
Beim ersten Aufruf der Webseite wird eine Manifestdatei vom Browser festgestellt, und
der Download der Ressourcen wird eingeleitet. Das abschließende Event wird cached
sein, da die Ressourcen zum ersten Mal heruntergeladen werden. Danach wird die
Webseite erneut geladen, der Browser stellt jedoch eine unveränderte Manifestdatei fest.
Dadurch wird nur noch das Event noupdate gesendet.
Bild 2.65: Der Browser stellt
eine neue und in der rechten
Abbildung eine unveränderte
Manifestdatei fest.
Ein weiteres Szenario ist, dass eine veränderte Manifestdatei mit bereits bestehendem
Cache vorliegt. In diesem Fall wird zunächst ein checking -Event, gefolgt von
downloading , progress und abschließend bei geglücktem Download ein updateready -
Event gesendet.
Um diese Events in der UI sichtbar zu machen, wird folgendes JavaScript verwendet:
var cache window.applicationCache;
var handler function(e) {
var eventsNode document.getElementById('events');
eventsNode.innerHTML + e.type + '<br/>';
if ((e.type 'checking' || e.type 'progress') && !$i.startTimestamp)
//on Android: no checking event
$i.startTimestamp e.timeStamp;
else if (e.type 'noupdate' || e.type 'updateready' || e.type
'cached')
eventsNode.innerHTML + 'total time (s): ' + Math.abs((e.timeStamp
$i.startTimestamp) / 1000);
Search WWH ::




Custom Search