Domanda

Esiste un modo per determinare o forzare una nuova memorizzazione nella cache di un file CSS se l'utente sta utilizzando un vecchio file?

È stato utile?

Soluzione

L'unico modo più sicuro per garantire che tutti ricarichino il tuo nuovo file è quello di cambiare il suo URL. Un modo ragionevole per farlo senza effettivamente rinominarlo è quello di puntare su una stringa casuale:

<link rel='stylesheet' href='/mystyles.css?random=87365835'>

Sta usando una mazza per rompere un dado e bypassare tutti i meccanismi HTTP esistenti per farlo, ma funzionerà assolutamente ovunque, mentre le altre tecniche hanno tutti avvertenze.

Modifica: @jitter: non è necessario modificare automaticamente l'URL per ogni richiesta: è possibile basarlo sul timestamp del file CSS o addirittura modificarlo manualmente quando si desidera garantire che il CSS venga ricaricato.

Altri suggerimenti

Puoi provare a modificare gli etags del server: http://developer.yahoo.com/performance/rules.html#etags

Ma il metodo preferito è probabilmente quello di rinominare il file CSS, ad esempio con la data o il numero di build, in modo che gli utenti dispongano sempre dell'ultimo.

Controlla questa soluzione invece di usare xx.css? rand = 213213213

Qual è un modo elegante per forzare i browser a ricaricare i file CSS / JS memorizzati nella cache?

O google per " versioning automatico " oltre ad aggiungere javascript o css. Oppure "quotazione automatica delle risorse"

Utilizza un approccio automatico che modifica il percorso del codice URL parte aggiungendo variabili get.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top