Как обнаружить разрешение SWF в кеше браузера?
-
25-10-2019 - |
Вопрос
У меня есть приложение AS3, которое загружает различные SWF во время выполнения. Используемая анимация загрузки имеет довольно долгую анимацию, которую я не хочу показывать, находится ли Target SWF в кэше браузера.
Таким образом, на данный момент каждый SWF загружается по мере необходимости, используя Greensock SWFLOUDER базовым образом:
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 на медленном соединении без индикатора NO.
- Может комбинация LoaderItem.httpStatus а также LoaderItem.Auditsize () Стоит расследовать?
- Есть ли лучшая структура загрузки для AS3, на которую я должен изучать вместо классов Greensock?
- В идеале я бы предпочел также иметь какое -то обнаружение версий, чтобы охватить сеансы, которые могут быть на несколько месяцев, но по одному шагу за раз.
Решение
Когда вы выполняете какой -либо HTTP -запрос, респондент придумывает свойство HTTPStatus. В AS3 вам просто нужно Chek, если
Httpstatusevent.status == 304
И для httpStatus
В библиотеке Гринскока.
По сути, 304 код означает, что на стороне сервера не было сделано никаких частей для ресурса, который запросил пользователь. Что в конечном итоге приводит к выводу, что ресурс находится в кеше.
ОБНОВИТЬ
Если это не соответствует вашим потребностям, попробуйте сохранить какую -то переменную, если вы играете в анимацию или нет в файлах cookie или в переменных сеанса.