Книга: JavaScript. Подробное руководство, 6-е издание

ApplicationCache

ApplicationCache

прикладной интерфейс управления кэшем приложений (EventTarget)

Объект ApplicationCache - это значение свойства applicationCache объекта Window. Он определяет API управления обновлением кэшированных приложений. В простых кэшируемых приложениях не требуется использовать этот API: достаточно создать (и обновлять по мере необходимости) соответствующий файл объявления кэшируемого приложения, как описывается в разделе 20.4. В более сложных приложениях, где может возникнуть потребность более активно управлять обновлениями, можно использовать свойства, методы и обработчики событий, описываемые здесь. Подробности приводятся в разделе 20.4.2.

Константы

Следующие константы представляют допустимые значения свойства status,

unsigned short UNCACHED = 0

Это приложение не имеет атрибута manifest: оно не кэшируется.

unsigned short IDLE = 1

Файл объявления проверен, данное приложение сохранено в кэше и обновлено.

unsigned short CHECKING = 2

В настоящее время броузер проверяет файл объявления.

unsigned short DOWNLOADING = З

Броузер загружает и сохраняет в кэше файлы, перечисленные в объявлении.

unsigned short UPDATEREADY = 4

Была загружена и сохранена в кэше новая версия приложения.

unsigned short OBSOLETE = 5

Файл объявления не найден и приложение будет удалено из кэша.

Свойства

readonly unsigned short status

Это свойство описывает состояние кэша текущего документа. Оно может принимать одно из значений, перечисленных выше.

Методы

void swapCache()

Когда свойство status получает значение UPDATEREADY, броузер управляет двумя версиями кэшируемого приложения: старые версии файлов из кэша, используемые запущенным приложением, и новые загруженные версии, которые будут использоваться при следующем запуске приложения. Приложение может вызвать swapCache(), чтобы сообщить броузеру, что он может немедленно удалить старые версии и начать использовать новые версии файлов. Однако имейте в виду, что это может привести к конфликту версий, и гораздо безопаснее будет выполнить переход на новую версию, перезагрузив приложение вызовом метода Location.reload().

void update()

Обычно броузер проверяет наличие новой версии файла объявления кэшируемого приложения каждый раз, когда это приложение загружается. Долгоживущие веб-приложения могут использовать этот метод, чтобы чаще проверять наличие обновлений.

Обработчики событий

В ходе проверки файла объявления и обновления кэша броузер возбуждает в объекте ApplicationCache целую серию событий. Для регистрации обработчиков событий можно использовать следующие свойства объекта ApplicationCache или методы интерфейса EventTarget, реализованные в объекте ApplicationCache. Обработчики большинства этих событий получают простой объект Event. Обработчики событий «progress» получают объект ProgressEvent, с помощью которого можно узнать, какой объем в байтах уже был загружен.

oncached Возбуждается, когда приложение впервые сохраняется в кэше. Это последнее событие в последовательности.

onchecking Возбуждается, когда броузер начинает проверку наличия обновленного файла объявления. Это первое событие в последовательности событий, генерируемых в кэшируемом приложении,

ondownloading Возбуждается, когда броузер начинает загрузку ресурсов, перечисленных в файле объявления, т. е. либо когда приложение впервые помещается в кэш, либо когда оно обновляется. За этим событием обычно следует одно или более событий «progress».

onerror Возбуждается, когда в ходе обновления кэша возникает ошибка. Это может произойти, например, когда броузер работает в автономном режиме или если приложение ссылается на несуществующий файл объявления.

onnoupdate Возбуждается, когда броузер определяет, что файл объявления не изменился и приложение в кэше имеет текущую версию. Это последнее событие в последовательности.

onobsolete Возбуждается, когда исчезает файл объявления кэшируемого приложения. Это приводит к удалению приложения из кэша. Это последнее событие в последовательности.

onprogress Возбуждается периодически, пока идет загрузка и сохранение в кэше файлов приложения. С этим событием обработчикам передается объект ProgressEvent.

onupdateready Возбуждается, когда броузер загрузит и сохранит в кэше новую версию приложения (и она будет готова к использованию при следующем запуске приложения). Это последнее событие в последовательности.

Оглавление книги


Генерация: 1.583. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз