Предварительно загружать страницы для их кэширования с помощью манифеста html5 ajax

У меня сейчас ситуация, когда у меня есть сайт онлайн-курсов. Но я хочу, чтобы он был доступен локально в автономном режиме. Я добавил манифест для всех тем в курсах. И если они посещаются, они кэшируются локально.

Однако теперь я хочу добавить кнопку «Сделать доступной в автономном режиме», чтобы предварительно загружать все эти страницы без необходимости сначала посещать их вручную.

Я попытался загрузить все эти файлы несколькими ajax-вызовами, запускаемыми кнопкой. Они будут использовать $.get() на странице, и я надеялся, что браузер их кеширует. Однако, похоже, это не работает. Похоже, что браузер не интерпретирует страницы, которые он не показывает...

Есть ли способ сделать это с помощью javascript и манифестов?

Спасибо!


person RVH    schedule 18.05.2011    source источник


Ответы (3)


Я считаю, что манифесты не работают так, как вы хотите. Записи в вашем файле манифеста будут кэшироваться в фоновом режиме. Пользователю никогда не нужно посещать страницу, чтобы она была кэширована.

Вот отличный ресурс для манифестов html5: http://diveintohtml5.ep.io/offline.html

person Joe    schedule 18.05.2011
comment
Я выбрал другое решение, используя базу данных JavaScript localStorage. Это больше подходило для моей проблемы. Спасибо за ваш ответ. - person RVH; 04.06.2011

вы можете отправлять запросы ajax и предварительно извлекать содержимое страницы и сохранять их в скрытых div. вы можете написать обработчики для событий, запускающих навигацию по страницам, и отображать соответствующие элементы div по запросу.

person Sunand    schedule 03.09.2014

Да это так. Но все запросы ресурсов в файле манифеста не имеют параметров, т.е.:

CACHE MANIFEST

CACHE:
/cgi-bin/imgrequest.cgi     # OK
/cgi-bin/request.cgi?id=123 # Wrong, it does not work
person Rolf    schedule 03.09.2014