В начале кода вам нужно использовать это:
<!DOCTYPE html>
<html manifest="cache.manifest">
...
Затем создайте файл cache.manifest с содержимым того, что вы хотите кэшировать, т.е.
CACHE MANIFEST
# 2010-06-18:v2
# Explicitly cached 'master entries'.
CACHE:
/favicon.ico
index.html
stylesheet.css
images/logo.png
scripts/main.js
# Resources that require the user to be online.
NETWORK:
*
# static.html will be served if main.py is inaccessible
# offline.jpg will be served in place of all images in images/large/
# offline.html will be served in place of all other .html files
FALLBACK:
/main.py /static.html
images/large/ images/offline.jpg
Манифест может иметь три различных раздела: CACHE, NETWORK и FALLBACK.
КЭШ:
Это раздел по умолчанию для записей. Файлы, перечисленные в этом заголовке (или сразу после манифеста CACHE), будут явно кэшироваться после первой загрузки.
СЕТЬ:
Файлы, перечисленные в этом разделе, могут поступать из сети, если их нет в кэше, иначе сеть не будет использоваться, даже если пользователь подключен к сети. Здесь вы можете указать определенные URL-адреса в белом списке или просто "", что разрешает все URL-адреса. Большинству сайтов нужно "".
FALLBACK:
Необязательный раздел, задающий резервные страницы, если ресурс недоступен. Первый URI - это ресурс, второй - запасной вариант, используемый при сбое или ошибках сетевого запроса. Оба URI должны иметь то же происхождение, что и файл манифеста. Вы можете захватывать определенные URL-адреса, а также префиксы URL-адресов. «images / large /» будет фиксировать сбои в URL-адресах, таких как «images / large / what / img.jpg».