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?
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.