Hallo,
ich hätte einige Fragen zur Verwendung des applicationCache von HTML5.
Wie ich gelesen habe, lassen sich die Dateien einer Webanwendung im lokalen Speicher ablegen, um sie offline nutzen zu können.
Nun habe zu Testzwecken zunächst eine ganz einfache mobile Anwendung mit jQuery Mobile gebaut. Diese besteht aus einer Startseite, einer Informationsseite und natürlich den benötigten JavaScripts und Stylesheets.
index.html:
info.html:
example.appcache:
Zuerst interessiert mich, ob beim ersten Aufruf der Startseite automatisch alle im Manifest enthaltenen Dateien heruntergeladen und im Cache gespeichert werden. Bei dem Stylesheet und den JavaScripts dürfte das der Fall sein, da diese bereits von index.html eingebunden werden.
Aber wie schaut es mit der Datei info.html aus? Wird die auch gleich mit gecacht und ist damit dann auch gleich offline verfügbar oder wird die Seite erst heruntergeladen, wenn sie zum ersten Mal angezeigt wird?
Was passiert, wenn der Nutzer anschließend in seinem Browser auf "Neu laden" oder "Aktualisieren" klickt? Wird dann weiterhin die Offline-Version genutzt (also der Klick ignoriert) oder findet ein neuer Download aller Dateien statt?
Wie ich außerdem gelesen habe, muss ich zur Realisierung einer neuen Programmversion immer das Manifest abändern. Dafür habe einen Versionskommentar angelegt, dessen Nummer ich dann nur erhöhen muss:
Reicht das schon oder sind größere Änderungen nötig?
Wie funktioniert dann der Updatevorgang?
Folgendes Szenario:
Ich stelle eine erste Version auf meiner Webseite bereit. Der Nutzer öffnet die URL und lädt sich die Dateien meiner WebApp zum ersten Mal herunter. Die Anwendung ist also ab diesem Moment offline verfügbar (mit Hinzufügen von Lesezeichen etc.). Weitere Internetverbindungen sind also dann nicht mehr erforderlich.
Jetzt führe ich Änderungen an den Dateien durch und überschreibe die auf meiner Webseite bereits vorhandene Version 1 durch Version 2. Natürlich auch mit geändertem Manifest.
Erkennt meine Offline-App jetzt automatisch, dass eine neue Version bereitsteht? Dazu müsste ja bei jedem Start wieder eine Internetverbindung hergestellt werden oder?
Wird die neue Version automatisch heruntergeladen und im Cache abgelegt?
Das Manifest muss immer den selben Dateiname haben, also bei mir example.appcache, egal bei welcher Version oder?
Wozu gibt es die update()-Methode des window.applicationCache-Objekts? Damit starte ich den Prozess ja skriptseitig manuell. Ist das denn nötig, wenn alles automatisch abläuft?
Vielen Dank schonmal für eure Antworten!
ich hätte einige Fragen zur Verwendung des applicationCache von HTML5.
Wie ich gelesen habe, lassen sich die Dateien einer Webanwendung im lokalen Speicher ablegen, um sie offline nutzen zu können.
Nun habe zu Testzwecken zunächst eine ganz einfache mobile Anwendung mit jQuery Mobile gebaut. Diese besteht aus einer Startseite, einer Informationsseite und natürlich den benötigten JavaScripts und Stylesheets.
index.html:
Code:
<!DOCTYPE html> <html manifest="example.appcache"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <title>Startseite</title> <link rel="stylesheet" href="jquery.mobile-1.3.0.min.css" /> <script src="jquery-1.9.1.min.js"></script> <script src="jquery.mobile-1.3.0.min.js"></script> </head> <body> ... </body> </html>
Code:
<!DOCTYPE html> <html manifest="example.appcache"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black" /> <title>Informationsseite</title> <link rel="stylesheet" href="jquery.mobile-1.3.0.min.css" /> <script src="jquery-1.9.1.min.js"></script> <script src="jquery.mobile-1.3.0.min.js"></script> </head> <body> ... </body> </html>
Code:
CACHE MANIFEST index.html info.html jquery.mobile-1.3.0.min.css jquery-1.9.1.min.js jquery.mobile-1.3.0.min.js
Aber wie schaut es mit der Datei info.html aus? Wird die auch gleich mit gecacht und ist damit dann auch gleich offline verfügbar oder wird die Seite erst heruntergeladen, wenn sie zum ersten Mal angezeigt wird?
Was passiert, wenn der Nutzer anschließend in seinem Browser auf "Neu laden" oder "Aktualisieren" klickt? Wird dann weiterhin die Offline-Version genutzt (also der Klick ignoriert) oder findet ein neuer Download aller Dateien statt?
Wie ich außerdem gelesen habe, muss ich zur Realisierung einer neuen Programmversion immer das Manifest abändern. Dafür habe einen Versionskommentar angelegt, dessen Nummer ich dann nur erhöhen muss:
Code:
CACHE MANIFEST # Version 1 index.html info.html jquery.mobile-1.3.0.min.css jquery-1.9.1.min.js jquery.mobile-1.3.0.min.js
Wie funktioniert dann der Updatevorgang?
Folgendes Szenario:
Ich stelle eine erste Version auf meiner Webseite bereit. Der Nutzer öffnet die URL und lädt sich die Dateien meiner WebApp zum ersten Mal herunter. Die Anwendung ist also ab diesem Moment offline verfügbar (mit Hinzufügen von Lesezeichen etc.). Weitere Internetverbindungen sind also dann nicht mehr erforderlich.
Jetzt führe ich Änderungen an den Dateien durch und überschreibe die auf meiner Webseite bereits vorhandene Version 1 durch Version 2. Natürlich auch mit geändertem Manifest.
Erkennt meine Offline-App jetzt automatisch, dass eine neue Version bereitsteht? Dazu müsste ja bei jedem Start wieder eine Internetverbindung hergestellt werden oder?
Wird die neue Version automatisch heruntergeladen und im Cache abgelegt?
Das Manifest muss immer den selben Dateiname haben, also bei mir example.appcache, egal bei welcher Version oder?
Wozu gibt es die update()-Methode des window.applicationCache-Objekts? Damit starte ich den Prozess ja skriptseitig manuell. Ist das denn nötig, wenn alles automatisch abläuft?
Vielen Dank schonmal für eure Antworten!
Comment