Атрибут manifest тега <html>
Описание
Атрибут manifest в теге <html> указывает на файл манифеста веб-приложения (обычно с расширением .appcache), который используется для создания оффлайн-версии сайта через технологию Application Cache. Этот атрибут устарел в современных стандартах.
<!DOCTYPE html>
<html manifest="offline.appcache">
<head>
<title>Приложение с оффлайн-доступом</title>
</head>
<body>
<!-- Содержимое приложения -->
</body>
</html>
Содержимое файла манифеста (offline.appcache):
CACHE MANIFEST
# Версия 1.0
CACHE:
index.html
styles.css
script.js
images/logo.png
NETWORK:
*
FALLBACK:
/ /offline.html
Проблемы технологии:
| Проблема | Описание |
|---|---|
| Устаревание | Заменена на Service Workers |
| Сложность обновления | Требует изменения манифеста |
| Ограниченный контроль | Нет гибкости в кэшировании |
Современная альтернатива (Service Worker):
// sw.js
const CACHE_NAME = 'my-site-cache-v1';
const urlsToCache = [
'/',
'/styles/main.css',
'/script/main.js'
];
self.addEventListener('install', event => {
event.waitUntil(
caches.open(CACHE_NAME)
.then(cache => cache.addAll(urlsToCache))
});
Регистрация Service Worker:
<!DOCTYPE html>
<html>
<head>
<title>Современное PWA</title>
<link rel="manifest" href="/manifest.webmanifest">
</head>
<body>
<script>
if ('serviceWorker' in navigator) {
navigator.serviceWorker.register('/sw.js');
}
</script>
</body>
</html>
Рекомендации:
- Не используйте атрибут manifest в новых проектах
- Для оффлайн-функциональности применяйте Service Workers
- Для PWA используйте файл manifest.webmanifest
- Обновляйте существующие приложения с Application Cache
Примечание: Хотя технология Application Cache была полезной в свое время, современные Progressive Web Apps используют более мощные и гибкие подходы. Миграция на Service Workers рекомендуется для всех новых проектов.