WebApp Cache Manifest

  • Hi Leute,

    ich eigne mir gerade Wissen zu WebApps auf mobilen Endgeräten an. Ich wollte mir mit Hilfe von Cache Manifest eine Seite auch offline verfügbar machen. Dazu folgende Dateien:

    index.html


    offline.html


    .htaccess

    Code
    AddType text/cache-manifest .manifest


    todolist.manifest

    Code
    CACHE MANIFEST
    # Updated 2013-11-03, v.1.0.4
    CACHE:
    /index.html
    /offline.html

    Folgendes Szenario:
    1. Ich rufe die index.html auf
    2. Ich geh in Offline-Modus mit meinem Tablet
    3. Ich klicke den Link auf der index.html, der zur offline.html führen sollte
    -> Diese wird mir nicht angezeigt, obwohl ich diese ja beim Aufruf der index.html gecached habe. Was verstehe ich falsch oder was mache ich falsch?

    Kann mir jemand helfen? Ich würde mich sehr freuen, wenn ich weiterkommen würde!

    Beste Grüße,
    CroWe

  • Also ich habe mich mit dem Kram noch nicht beschäftigt, aber wo/wie soll denn da die offline.html gecached werden? Ich sehe beim besten Willen keine Definition in der index.html die dem Browser mitteilen könnte, dass er automatisch die offline.html laden und cachen soll, ohne dass diese explizit aufgerufen wird.

    Edit: Nachtrag: Schonmal versucht im offline-Modus die index.html aufzurufen, die du auch im online-Modus schon geladen und gecached hattest?

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • Sorry, dass ich mich erst jetzt zurück melde. Ich war für zwei Tage außer Gefecht gesetzt und sitze erst seit heute wieder an meinem Entwicklungsrechner.
    Mit Hilfe dieser Manifest Datei sollten eigentlich die index.html und die offline.html gecached werden:

    Code
    CACHE MANIFEST 
    # Updated 2013-11-03, v.1.0.4 
    CACHE: 
    /index.html 
    /offline.html


    und hierüber sollte das Ganze dem Browser übergeben werden:

    HTML
    <html manifest="cache/todolist.manifest">


    hierüber, weiß der Webserver mit dem Datentyp manifest umzugehen:

    Code
    AddType text/cache-manifest .manifest

    Klar, dass habe ich auch versucht. Sofern ich die Seite im Browser nicht aktualisiere, kann ich durch die Seiten navigieren, die zuvor im Browser schonmal offen waren. Alle anderen nicht!
    Normalerweise sollte aber schon beim Aufrufen der index.html alles gecached sein, dass ich in der Manifest-Datei angebe. Sonst verstehe ich das Ganze falsch.
    Ich nehme an, dass ich durch die bereits geöffneten Seiten navigieren kann, weil die der Browser intern schon cached. Verwendeter Browser: Firefox 19.0.2
    D.h. das Problem besteht weiterhin!

  • Die Daten sollten gecached werden, soweit stimmt dein Code. Wenn ich dich richtig verstehe, willst du aber auf die offline.html im cache leiten, sofern index.html nicht verfügbar ist, also z.B. im Offline-Modus.

    Um das zu erreichen, musst du die offline.html in der Fallback-Section angeben, also etwa so:

    Code
    CACHE MANIFEST
    
    
    CACHE:
    /index.html
    /offline.html
    
    
    FALLBACK
    /index.html /offline.html

    [Blockierte Grafik: http://www.dingsme.info/avatar8.jpg]Also ich habe mich mit dem Kram noch nicht beschäftigt,


    Danke für die Info? =)

  • Ach, sorry, ich hab deine Beschreibung falsch gelesen. Ich dachte du willst, dass automatisch die offline.html verwendet wird. Mit dem Link sollte es eigentlich funktionieren.