2009-05-13 3 views
0

Wenn mein Computer der Webserver für mehrere Live-Websites ist, schadet es dann, wenn ich in meinem Eingabeaufforderungs-Editor ipconfig/dnsflush eintippe?Löschen Sie meinen Cache mit cmd command => ipconfig/dnsflush?

Ich habe immer dieses Problem. Ich bette einen Flash (swf) in eine HTML-Datei ein. Wenn ich das swf aktualisiere, benutze die .html Datei immer das alte swf, auch wenn ich meinen Cache lösche und was auch immer.

Gibt es Möglichkeiten, meine .html-Datei immer die neueste/aktualisierte SWF-Datei zu bekommen?

Antwort

3

Die Eingabe von ipconfig/dnsflush wird Ihr Problem nicht beheben, das ist das Löschen des DNS-Cache, Ihr Problem ist, dass Ihre SWF-Datei vom Browser zwischengespeichert wird. Es gibt ein paar Möglichkeiten, dies zu stoppen. Am einfachsten ist es wahrscheinlich durch einen zufällige Abfrage-String auf die URL der SWF-Datei in dem EMBED/OBJECT-Tag hinzu:

<script type="text/javascript"> 
<!-- 
document.write('<object etc ... '); 
document.write('<param name="movie" value="filename.swf?r=' + Math.round(Math.random() * 99999) + '">'); 
document.write(' the other param tags here); 
document.write('<embed src="filename.swf?r=' + Math.round(Math.random() * 99999) + '" etc .... </embed>'); 
document.write('</object>'); 
//--> 
</script> 

aber bewusst sein, dass dies bedeutet, dass Ihre SWF jedes Mal neu heruntergeladen werden, und nie aus der Browser-Cache. Wenn Sie dies nicht möchten, sollten Sie eine Versionsnummer in der Abfragezeichenfolge anstelle einer Zufallszahl hinzufügen und diese erhöhen, wenn Clients eine neue SWF-Datei herunterladen sollen.

0

Ich habe ein kleines PHP-Snippet, das ich verwende, um die unixtime an, als ich die Datei auf den Server am Ende der Flash-URL hochgeladen. Auf diese Weise lade ich einfach die neue hoch und alles sortiert sich automatisch ab.