#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