Атрибут manifest
Internet Explorer | Chrome | Opera | Safari | Firefox | Android | iOS |
8.0+ | 9.6+ | 4.0+ | 4.0+ | 2.1+ | 3.0+ |
Спецификация
HTML: | 3.2 | 4.01 | 5.0 | XHTML: | 1.0 | 1.1 |
Описание
Атрибут manifest реализует механизм кэширования, который позволяет создавать оффлайновые приложения, т.е. работающие в автономном режиме без непосредственного подключения к Интернету. При первой загрузке страницы браузер обычно просит сохранить данные для своей работы, а затем уже обращается к ним при необходимости.
В качестве значения атрибута manifest указывается относительный или абсолютный путь к текстовому файлу, он называется «файл манифеста» или просто «манифест». Имя и расположение файла может быть любым, но он должен отдаваться сервером с заголовком text/cache-manifest. Например, для веб-сервера Apache в файле .htaccess расположенным в корне сайта следует прописать такую строку.
AddType text/cache-manifest .cache
В этом случае файл манифеста имеет расширение cache. Сам манифест информирует браузер о том, какие ресурсы необходимо сохранить в локальном кэше. Этот список может содержать HTML и CSS-файлы, изображения, скрипты. Имена файлов перечисляются внутри секций описанных в табл. 1.
Раздел | Описание |
---|---|
CACHE MANIFEST | Этой обязательной строкой должен начинаться любой манифест. |
CACHE: | Содержит перечень ресурсов, которые браузер должен кэшировать. Данный раздел используется по умолчанию, если его не указать и нет других разделов, то записи в манифесте причисляются к этому разделу. |
NETWORK: | Список ресурсов, которые доступны только при подключении к сети. Обычно в этот раздел входят программы выполняемые на стороне сервера. |
FALLBACK: | Список замещающих файлов, которые будут использоваться при отсутствии подключения к сети. Допустимо использовать символ * для обозначения всех файлов. Например, *.php /offline.html означает, что вместо любого файла с расширением php будет показана страница offline.html. |
Синтаксис
<html manifest="URL">
Значения
В качестве значения указывается адрес файла манифеста.
Значение по умолчанию
Нет.
Пример 1
HTML5IECrOpSaFx
<!DOCTYPE html>
<html manifest="22.cache">
<head>
<meta charset="utf-8">
<title>22 хода</title>
<link href="22.css" rel="stylesheet">
<script src="22.js"></script>
</head>
<body>
<div id="main">
<h1>22 хода</h1>
<canvas id="game" width="400" height="400">
<img src="images/old.png" alt="">
</canvas>
<p>Ходов: <span id="move">0</span>
<span id="msg"></span></p>
<h3>Цель игры</h3>
<p>Вам необходимо за 22 хода сгруппировать все серые фишки
на кружках в верхнем квадрате, а чёрные фишки — в нижнем.
Кружки с точкой должны оказаться незанятыми.</p>
<p>Фишка может перемещаться только по линиям — по горизонтали
или вертикали, а также перепрыгивать через фишку, если за ней есть свободное
поле.</p>
</div>
</body>
</html>
Содержимое файла 22.cache показано в примере 2.
Пример 2. Файл 22.cache
CACHE MANIFEST
# Версия 1.0
CACHE:
22.css
22.js
images/old.png