API автономной работы представляет собой набор техник, в том числе специальный файл под названием «манифест» и несколько методов, событий и свойств. Все они предназначены для того, чтобы работающие в браузере приложения могли быть кэшированы на компьютере пользователя. Основное назначение данного API — обеспечивать постоянный доступ к приложениям, в том числе возможность работать с ними даже в условиях отсутствия подключения к Интернету.
Файл манифеста
Файл манифеста — это текстовый файл с расширением. manifest, содержащий список файлов, которые должны быть помещены в кэш. Он всегда начинается со строки CACHE MANIFEST, а его содержимое можно разбить на следующие категории:
— CACHE. В эту категорию помещаются кэшируемые файлы;
— NETWORK. К этой категории относятся файлы, обращение к которым возможно только через сетевое подключение;
— FALLBACK. В этой категории перечисляются альтернативные ресурсы для файлов с сервера, недоступных в данный момент.
Свойства
У объекта Navigator появилось новое свойство, позволяющее проверять состояние подключения:
— onLine. Возвращает булево значение, указывающее на состояние подключения. Равно false, если браузер работает автономно, и true — в противном случае.
В данном API предусмотрено свойство status, предназначенное для проверки статуса кэша приложения. Это свойство принадлежит объекту ApplicationCache и может принимать следующие значения:
— UNCACHED (значение 0). Указывает, что кэш для приложения еще не создавался;
— IDLE (значение 1). Указывает, что кэш для приложения актуален и используется;
— CHECKING (значение 2). Указывает, что браузер проверяет обновления;
— DOWNLOADING (значение 3). Указывает, что браузер находится в процессе загрузки файлов кэша;
— UPDATEREADY (значение 4). Указывает, что кэш для приложения доступен и используется, но неактуален; обновление готово для загрузки и замены старых файлов;
— OBSOLETE (значение 5). Указывает, что текущий кэш больше не используется.
События
У объекта окна есть два события, позволяющие проверять статус подключения:
— online. Срабатывает, когда значение свойства onLine меняется на true;
— offline. Срабатывает, когда значение свойства onLine меняется на false.
В API также предусмотрено несколько принадлежащих объекту Applica-tionCache событий, которые информируют о различных условиях, связанных с кэшем:
— checking. Срабатывает, когда браузер проверяет обновления;
— noupdate. Срабатывает, если обновления не обнаружены;
— downloading. Срабатывает, если браузер обнаружил обновление и начал загрузку файлов;
— cached. Срабатывает, когда кэш готов;
— updateready. Срабатывает, когда процесс загрузки обновления завершается;
— obsolete. Срабатывает, когда обнаруживается, что файл манифеста недоступен, и кэш удаляется;
— progress. Срабатывает во время процесса загрузки файлов кэша;
— error. Срабатывает, если во время создания или обновления кэша происходит ошибка.
Два метода в рассматриваемом API позволяют запросить обновление кэша:
— update(). Инициирует обновление кэша. Заставляет браузер загрузить файл манифеста и в случае, если обнаруживаются изменения, обновить и остальные файлы в кэше;
— swapCache(). Переключает браузер на самую свежую версию кэша после обновления. Не запускает сценарии и не заменяет ресурсы, просто сообщает браузеру, что в дальнейшем информацию можно считывать из нового кэша.
Добавить комментарий