Атрибут 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 хода сгруппировать все серые фишки
на кружках в верхнем квадрате, а чёрные фишки — в нижнем.
Кружки с точкой должны оказаться незанятыми.</p>
<p>Фишка может перемещаться только по линиям — по горизонтали
или вертикали, а также перепрыгивать через фишку, если за ней есть свободное
поле.</p>
</div>
<script src="22/22.js"></script>
</body>
</html>
Содержимое файла 22.cache показано ниже.
CACHE MANIFEST
# Версия 1.0
CACHE:
22.css
22.js
../image/old.png
Браузеры
Браузеры
В таблице браузеров применяются следующие обозначения.
- — элемент полностью поддерживается браузером;
- — элемент браузером не воспринимается и игнорируется;
- — при работе возможно появление различных ошибок, либо элемент поддерживается с оговорками.
Число указывает версию браузреа, начиная с которой элемент поддерживается.