Просмотр полной версии : Загрузка внешнего swf в обход кэша
Доброго времени суток!
Есть основной модуль, который по мере необходимости грузит внешние swf.
Но вот беде - они кэшируются. А при обновлении этих swf на сайте и попытке загрузки - берутся из кэша (у кого он включен есесно).
Пробовал что-то типа
request=new URLRequest("file.swf?"+String(Math.round(Math.random()*9999)));
Не грузит вообще. Выдаёт ошибку.
Как реализовать в AS3?
В принципе путь правильный, если конечно файл грузится не с локальной файловой системы.
А вобще лучше дату прибавлять к запросу
request=new URLRequest("file.swf?rand="+String(Math.round(Math.random()*9999)));
Достаточно new URLRequest("file.swf?") При первом запросе файла с начала запуска флеш-ролика браузер сделает полноценный запрос с If-Modified-Since и пр.
Ваш подход обладает существенным недостатком: запрошенный файл будет загружаться всегда, даже если он не был модифицирован.
Cheburashka
22.06.2011, 12:08
Попробуйте сделать так:
В основном модуле прописать версию приложения, например:
public static const APP_VERSION : String = '0.8';
А при подгрузке доп ресурсов делать такой запрос:
request=new URLRequest("file.swf?ver="+APP_VERSION);
Таким образом пока вы не поменяете версию главного модуля, допы будут грузиться из кеша, поменяете - загрузятся заново.
Хотя я не знаю подойдет ли этот способ для вашего конкретного случая.
Cheburashka, и каждый раз перекомпилировать приложение, если поменялся модуль? Какой тогда смысл в модулях?
Cheburashka
22.06.2011, 12:18
Я же уточнил, если подойдет для конкретного случая.
Ну версию можно и в конфиг вынести.
Конфиг тоже будет кэшироваться. Не проще ли, как сказал dimarik, один раз нормально настроить сервер и забыть про костыли.
Что значит правильно настроить сервер?
Добавлено через 6 минут
Что значит правильно настроить сервер?
Что значит правильно настроить сервер?
http://last-modified.com/ru/if-modified-since.html
Добавлено через 5 минут
http://xmlhack.ru/texts/06/doing-http-caching-right/doing-http-caching-right.html
и т.д.
Конечно лучше как Димарик предложил :)
Кстати не будет ли особых замут с If-Modified-Since из-за разницы часовых поясов клиента и сервера? Не может ли получиться запрос где If-Modified-Since=через час?
Благодарю за ответы господа.
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.