HTML and CSS Reference
In-Depth Information
2.8.4 Dynamische Erzeugung des Cache-Manifests
In realen Applikationen müssen meist weitaus mehr Dateien gecacht werden, als in den
bisherigen Beispielen aufgeführt. Daher bietet es sich an, alle von der aktuellen Webseite
benötigten Dateien in einem Verzeichnis auf dem Server zu hosten und dann das Cache-
Manifest dynamisch auf Basis des aktuellen Verzeichnisinhalts zu erstellen. Da es eine
Menge unterschiedlichster Sprachen gibt, die dazu serverseitig verwendet werden
können, kann an dieser Stelle kein allgemeingültiges Beispiel gezeigt werden. Mit dem
Grails-Framework, einem auf der Groovy-Skriptsprache basierendes Web-Framework,
lässt sich eine dynamische Manifestdatei in wenigen Zeilen Code innerhalb einer Grails-
Action erstellen:
def manifest {
def pathList []
new File("./web app/images").eachFile {
if (!it.name.startsWith('.') && !it.directory)
pathList << 'html5' + it.path[1.. 1]
}
render(contentType:'text/cache manifest', text:pathList.join('\n'));
}
Das manifest -Attribut der HTML-Seite kann nun verwendet werden, um im Browser
die dynamisch erstellte Manifestdatei zu referenzieren. Es muss lediglich eine korrekte
URL zu der Ressource angegeben werden, die die Manifestdatei mit dem korrekten
Content-Type zurückgibt. Konkret in unserer Beispielanwendung wäre das:
<!DOCTYPE html>
<html manifest "/html5/offline/manifest">
2.8.5 Die ApplicationCache-API
Zusätzlich kann der Offlinecache über eine JavaScript-API angesprochen werden. Es
stehen auch zahlreiche Events zur Verfügung, mit deren Hilfe der aktuelle Zustand des
Caches abgerufen werden kann. Das ApplicationCache-Interface ist wie folgt definiert
und global unter applicationCache verfügbar:
interface ApplicationCache {
readonly attribute unsigned short status;
// updates
void update();
void swapCache();
};
Diese Möglichkeiten werden nun der Reihe nach betrachtet. Unter applicationCache.
status wird der aktuelle Status des Caches abgefragt. Im applicationCache -Objekt
sind dadurch auch einige Konstanten definiert, die in folgender Tabelle erklärt werden:
Search WWH ::




Custom Search