Ecco come ho risolto il problema. Il mio file manifesto
CACHE MANIFEST
# Version 0.1
CACHE:
# Minimised Styles
/css/style.0.1.min.css
# Minimised JavaScript
/js/script.0.1.min.js
FALLBACK:
//offline.html
NETWORK:
*
nota tutto ciò che va a mydomain.com/ in modalità offline passerà ora al /offline.html (dalla cache)
Ora, come memorizzare nella cache solo ciò che è nel file manifest, senza includere la pagina online su mydomain.com/.
inserire il seguente iframe nella parte inferiore della pagina a mydomain.com/
<iframe src="/offline.html" style="display: none;"></iframe>
e mettere in manifest="myapp.appcache"
offline.html.
Ciò significa che quando viene caricato mydomain.com/ non verrà mai memorizzato nella cache (poiché non esiste alcun attributo manifest sulla pagina). Quindi il browser va a ottenere il file offline.html tramite l'iframe e tutto il resto che si desidera venga aggiunto nella cache utilizzando le istruzioni nel file manifest, inclusa la pagina offline.html a causa della presenza dell'attributo HTML.
L'unico sovraccarico che riesco a vedere è il caricamento della prima pagina, l'iframe effettuerà una richiesta HTTP aggiuntiva, ma una volta memorizzato nella cache lo prenderà dalla cache, quindi non un grosso problema.
Sono ancora un po 'nuovo in HTML5, ma sono sorpreso del fatto che non esiste un modo ben definito per impedire il caching della pagina incluso il manifest. –
Sì, anche a me. L'avrei preferito se il file manifest avesse più influenza e solo quello che dichiarerai verrà memorizzato nella cache. Non dovrebbe essere collegato alla pagina. Questa è semplicemente funzionalità nascosta. – Greg
Il mio primo pensiero è stato "Aggiungi alla sezione NETWORK:", ma dopo alcuni test questo non funziona (almeno in IE - ho smesso di test appena ho trovato un caso quando non funzionava). Questo è semplicemente sbagliato a mio parere - qualcosa che viene esplicitamente dichiarato dovrebbe sempre sovrascrivere il comportamento predefinito. Sono ancora molto cauto nell'usare le cose offline a causa di problemi come questo. – Morvael