Атрибут manifest

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

Данный атрибут удалён из спецификации HTML, его использование не рекомендуется.

В качестве значения атрибута manifest указывается относительный или абсолютный путь к текстовому файлу, он называется «файл манифеста» или просто «манифест». Имя и расположение файла может быть любым, но он должен отдаваться сервером с заголовком text/cache-manifest. Например, для веб-сервера Apache в файле .htaccess расположенным в корне сайта следует прописать такую строку.

AddType text/cache-manifest .cache

В этом случае файл манифеста имеет расширение cache. Сам манифест информирует браузер о том, какие ресурсы необходимо сохранить в локальном кэше. Этот список может содержать HTML и CSS-файлы, изображения, скрипты. Имена файлов перечисляются внутри секций описанных в табл. 1.

Табл. 1. Разделы манифеста
Раздел Описание
CACHE MANIFEST Этой обязательной строкой должен начинаться любой манифест.
CACHE: Содержит перечень ресурсов, которые браузер должен кэшировать. Данный раздел используется по умолчанию, если его не указать и нет других разделов, то записи в манифесте причисляются к этому разделу.
NETWORK: Список ресурсов, которые доступны только при подключении к сети. Обычно в этот раздел входят программы выполняемые на стороне сервера.
FALLBACK: Список замещающих файлов, которые будут использоваться при отсутствии подключения к сети. Допустимо использовать символ * для обозначения всех файлов. Например, *.php /offline.html означает, что вместо любого файла с расширением php будет показана страница offline.html.

Синтаксис

<html manifest="<адрес>">

Значения

В качестве значения указывается адрес файла манифеста.

Значение по умолчанию

Нет.

Пример

<!DOCTYPE html> <html manifest="/example/22/22.cache"> <head> <meta charset="utf-8"> <title>22 хода</title> <link href="22/22.css" rel="stylesheet"> </head> <body> <div id="main"> <h1>22 хода</h1> <canvas id="game" width="400" height="400"> <img src="image/old.png" alt=""> </canvas> <p>Ходов: <span id="move">0</span> <span id="msg"></span></p> <h3>Цель игры</h3> <p>Вам необходимо за 22 хода сгруппировать все серые фишки на кружках в верхнем квадрате, а чёрные фишки&nbsp;&#8212; в нижнем. Кружки с точкой должны оказаться незанятыми.</p> <p>Фишка может перемещаться только по линиям&nbsp;&#8212; по горизонтали или вертикали, а также перепрыгивать через фишку, если за ней есть свободное поле.</p> </div> <script src="22/22.js"></script> </body> </html>

Содержимое файла 22.cache показано ниже.

CACHE MANIFEST
# Версия 1.0

CACHE:
22.css 
22.js
../image/old.png

Браузеры

10 12 4 10.6 4 3.5 84
4.4 4 84 11 3.2

В таблице браузеров применяются следующие обозначения.

  • — элемент полностью поддерживается браузером;
  • — элемент браузером не воспринимается и игнорируется;
  • — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.

Число указывает версию браузреа, начиная с которой элемент поддерживается.