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

#ajax #html #manifest #preload

#ajax #HTML #манифест #предварительная загрузка

Вопрос:

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

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

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

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

Спасибо!

Ответ №1:

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

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

Комментарии:

1. Я выбрал другое решение, используя базу данных localStorage в JavaScript. Это было более подходящим для моей проблемы. Тем не менее, спасибо за ваш ответ.

Ответ №2:

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

Ответ №3:

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

 CACHE MANIFEST

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