Очистить кэш с помощью команды cmd=> ipconfig/dnsflush?
Если мой компьютер является веб-сервером для нескольких активных веб-сайтов, будет ли вред, если я введу ipconfig/dnsflush в редакторе командной строки?
У меня всегда есть эта проблема. Я вставил Flash (SWF) в файл.html. Всякий раз, когда я обновляю swf, файл.html всегда использует старый swf, даже если я очищаю свой кеш и все остальное.
Есть ли способы, чтобы мой файл.html всегда получал последний / обновленный файл swf?
2 ответа
Ввод ipconfig/dnsflush не решит вашу проблему, то есть очистка кеша DNS, ваша проблема в том, что ваш SWF-файл кэшируется браузером. Есть несколько способов остановить это. Наиболее простым, вероятно, является добавление случайной строки запроса к URL-адресу SWF-файла в теге EMBED/OBJECT:
<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>
Но имейте в виду, что это означает, что ваш SWF будет загружаться заново каждый раз, а не из кеша браузера. Если вы этого не хотите, рассмотрите возможность добавления номера версии в строку запроса, а не случайного числа, и увеличивайте его, если вы хотите, чтобы клиенты загружали новый SWF-файл.
У меня есть небольшой фрагмент php, который я использую, чтобы добавить unixtime, когда я загружал файл на сервер в конце flash' url. Таким образом, я просто загружаю новый, и все автоматически разбирается.