Вам на самом деле не нужен jQuery для этого вообще. Сам HTML5 имеет удобную возможность для приложений, работающих в режиме онлайн / офлайн - манифест кэша . Манифест кэша - это простой текстовый файл, указанный в атрибуте manifest
тега <html>
:
<html manifest="cache.manifest">
Содержимое этого файла манифеста сообщает браузеру, каким ресурсам необходимо функционировать в режиме онлайн (NETWORK
), какие файлы кэшировать (CACHE
) и что делать, когда сетевой ресурс запрашивается в автономном режиме (FALLBACK
) ).
CACHE MANIFEST
# the above line is required
NETWORK:
*
FALLBACK:
* error404.html
CACHE:
index.html
about.html
help.html
# Plus all other resources required to make it look nice
style/default.css
images/logo.png
images/backgound.png
При использовании манифеста браузер сначала обращается к манифесту и, без каких-либо сценариев, действует соответствующим образом в зависимости от того, подключен он или нет.
http://dev.w3.org/html5/spec-preview/offline.html#manifests
UPDATE:
Обратите внимание на важнейшее требование к типу содержимого ответа. Простой текст просто не работает.
Манифесты должны подаваться с использованием типа text/cache-manifest
MIME.
http://dev.w3.org/html5/spec-preview/offline.html#writing-cache-manifests
Также имейте в виду, что в результате все URL, не указанные в манифесте, заблокированы от загрузки. Вот почему я исправил вышеуказанный манифест с подстановочными знаками (*
), чтобы разрешить «остальное». Это может помочь вам начать.