2012-11-26 7 views
5

L'API della cache dell'applicazione HTML5 richiede al browser di ricaricare tutti i file dichiarati nella sezione CACHE del file manifest (quando il file manifest è stato modificato e l'aggiornamento viene chiamato sull'API applicationCache) .Eliminazione selettiva di elementi nella cache dell'applicazione HTML5

Il file manifest contiene migliaia di voci. Ci sono trucchi per dire al browser di ricaricare solo i file che sono cambiati?

risposta

4

Ho riscontrato problemi simili causati dalla mancanza di controllo sul comportamento di memorizzazione nella cache dei file elencati nel manifest della cache. Risulta che puoi ottenere un certo controllo su questo processo usando iFrame.

La strategia consiste nel dividere le migliaia di file elencati nel manifest della cache principale in manifesti di cache separati (e più gestibili), quindi creare un sacco di pagine HTML fittizie, ognuna delle quali fa riferimento a un manifest della cache. Quindi, per ciascun codice HTML fittizio, aggiungi un iFrame collegato ad esso nel tuo documento HTML principale. Puoi inserire gli iFrame all'interno di un div invisibile, che renderà il trucco invisibile all'utente.

Quando ogni iFrame viene caricato, controlla il manifest della cache individuale. Se qualche file all'interno di tale manifest della cache viene modificato, l'iFrame memorizzerà solo il suo sottogruppo di file. Puoi raggruppare in modo intelligente i file correlati, in base a quanto ti aspetti che cambino.

Ciò che è ancora meglio è che puoi inserire dinamicamente iFrame sul tuo HTML principale in qualsiasi punto dell'interazione dell'utente, e solo quando viene caricato l'iFrame, l'avanzamento della memorizzazione nella cache verrà attivato.