Категории

Категории.

Мы можем объявить файлы, необходимые приложению для работы в автономном режиме, но точно так же можно объявить, какие файлы должны быть доступны только через сетевое подключение. Они могут относиться к той части приложения, которая имеет смысл только при интерактивной работе, — например, чату.

Для идентификации типов файлов, перечисленных в файле манифеста, в API предусмотрены три категории:

— CACHE. Это категория по умолчанию. Все файлы из этой категории сохраняются на компьютер пользователя для дальнейшего использования;

— NETWORK. Считается белым списком; файлы в ней доступны только через сетевое подключение;

— FALLBACK. Предназначена для файлов, которые хорошо было бы получать с сервера при наличии подключения, но которые все же можно заменять автономной версией. Если браузер обнаружит, что Сеть доступна, он попытается загрузить исходный файл. В противном случае будет загружен подменный файл с компьютера пользователя.

Наш файл манифеста с использованием категорий мог бы выглядеть примерно так, как на листинге 16.2.

Листинг 16.2. Объявление файлов по категориям CACHE MANIFEST

CACHE:

Cache. html

Cache. css

Cache. js

NETWORK:

Chat. html

FALLBACK:

Newslist. html nonews. html

В новом файле манифеста из листинга 16.2 файлы перечислены в соответствии с категориями. Три файла из категории CACHE будут загружаться, сохраняться на пользовательском компьютере и затем постоянно использоваться при выполнении приложения (до тех пор, пока мы не объявим какие-либо другие условия кэширования файлов). Файл chat. html из категории NETWORK будет доступен только при наличии сетевого подключения. Что же касается файла newslist. html из категории FALLBACK, то, когда возможно, будет использоваться его серверная версия, в случае невозможности доступа к нему он будет заменяться файлом nonews. html. Так же, как и файлы из категории CACHE, файл nonews. html кэшируется и сохраняется на компьютере пользователя, для того чтобы к нему можно было обратиться в любой момент.

Категорию FALLBACK удобно использовать не только для замены отдельных файлов, но и для определения ссылок на целые каталоги. Например, строка вида / noconnection. html означает, что любой файл, недоступный в кэше, заменяется файлом noconnection. html. С помощью такой техники можно выводить на экран документ с просьбой проверить сетевое подключение в случае, если пользователь попытается обратиться к той части приложения, которая в автономном режиме недоступна.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *