Как обнаружить наличие SWF в кеше браузера? - PullRequest
0 голосов
/ 24 июля 2011

У меня есть приложение AS3, которое загружает различные SWF во время выполнения.Используемая анимация загрузки имеет довольно длинную анимацию входа и выхода, которую я не хочу показывать, если целевой SWF-файл находится в кэше браузера.

Таким образом, в настоящий момент каждый SWF-файл загружается по мере необходимости.используя SWFLoader Greensock в основном:

var context:LoaderContext = new LoaderContext();
context.applicationDomain = ApplicationDomain.currentDomain;
loader = new SWFLoader("mySWF.swf", {name:"sectionLoader",context:context,auditSize:true,onOpen:onLoadInit,onProgress:onLoadProgress, onComplete:onCompleteLoadHandler, onError:onLoadErrorHandler});
loader.load();

Моя цель - сделать что-то перед вызовом loader.load();, чтобы определить, потребует ли операция загрузки запрос выйти за пределы кэша браузера., но перед тем как заняться исследованиями и разработками, я подумал, что спрошу, не делал ли кто-нибудь что-нибудь подобное.

Еще несколько мыслей, которые у меня были до сих пор:отслеживание того, что было загружено в AS3, недостаточно хорошо, потому что, если пользователь очищает свой кэш, он может оставить загрузку большого SWF-файла на медленном соединении без индикатора.

Возможно сочетание LoaderItem.httpStatus и LoaderItem.auditSize () стоит изучить? Есть ли лучшая платформа загрузки для AS3, которую я должен искатьв вместо классов Гринсок? В идеале я предпочел бы также иметь какое-то обнаружение версий для охвата сеансов, которые могут быть разнесены на несколько месяцев, но по одному шагу за раз.

1 Ответ

2 голосов
/ 24 июля 2011

при выполнении любого HTTP-запроса ответ получает свойство HTTPStatus. В AS3 нужно просто проверить, если

HttpStatusEvent.status == 304

И для httpStatus в библиотеке Гринсок.

В основном код 304 означает, что на стороне сервера не было никаких изменений ресурса, который запросил пользователь. Что в итоге приводит к выводу, что ресурс находится в кеше.

UPDATE

Если это не соответствует вашим потребностям, попробуйте сохранить некоторую переменную, если вы играете анимацию или нет в Cookies или в переменных Session.

...