2010-09-16 2 views
9

Quando distribuisco un nuovo file .swf in un file HTML come mostrato di seguito, devo cancellare la cache del browser prima che il nuovo file .swf venga caricato nel browser. È comunque necessario forzare il browser a caricare il file .swf quando lo sostituisco con uno nuovo sul server.Come posso forzare il browser Web a ricaricare un file Flash appena distribuito senza svuotare la cache?

<embed type="application/x-shockwave-flash" wmode="transparent" pluginspage="http://www.adobe.com/go/getflashplayer" allowscriptaccess="sameDomain" name="Prototype" bgcolor="#869ca7" quality="high" id="Prototype" src="/flex/Prototype.swf"> 

Grazie, Chirag

risposta

14

cambiamento il nome di origine mediante codifica.

src="/flex/Prototype.swf?ver=1.0.1" 
2

Basta aggiungere un numero all'interno della stringa di query (si potrebbe pensare ad esso come numero di versione di sorta). Quindi cambia quel numero ogni volta che cambi il tuo SWF. Quando il numero cambia, il browser lo vedrà come un URL diverso, quindi salterà la cache e tornerà al server per una nuova copia dello swf.

<embed 
    type="application/x-shockwave-flash" 
    wmode="transparent" pluginspage="http://www.adobe.com/go/getflashplayer" 
    allowscriptaccess="sameDomain" name="Prototype" bgcolor="#869ca7" 
    quality="high" id="Prototype" src="/flex/Prototype.swf?1234" > 
3

faccio lo stesso, ma aggiungere un numero casuale in modo da non dover scrivere un nuovo numero ogni volta

src="/flex/Prototype.swf?<?= rand() ?>" 
+6

Ma con un numero casuale, visitatori di ritorno dovranno attendere che il file da scaricare dal server ad ogni visita, indipendentemente dal fatto che sia stato modificato o meno. Quindi tempi di caricamento più lunghi per i visitatori di ritorno e un carico elevato sul tuo server, giusto? Con l'approccio del numero di versione, è possibile controllare quando consentire la cache e quando forzare il recupero di un swf aggiornato. –

+5

non lo userei per scopi di produzione, solo per lo sviluppo, quindi non devo cancellare ripetutamente la cache del browser. per la produzione, ha senso usare l'approccio della versione. sono d'accordo! – PatrickS