Как кешировать подгруженные страницы Ajax'ом и при повторном открытие раздела выдавать из кеша?

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

<html>
    <head>
      <!-- подключаем какие то css и js -->
   </head>
   <body>
       <header>
           <!-- Заголовок загружается один раз и не меняется -->
           <nav>
               <a href="/works" class="active">Работы</a>
               <a href="/services">Услуги</a>
           </nav>
       </header>
       <section>
            <article id="module">
                  <!-- Сюда при первой загрузке страницы выдается в зависимости от url модуль -->
                  <!-- И так же при переходе по навигации, очищается #module и вставляется готовый кусок html полученный с помощью ajax -->
            </article> 
      </section>
   </body>
</html>


Вопрос у меня таков, если пользователь один уже открыл раздел сервисы, мне необходимо его кешировать и при повторном запросе страницы Сервисы, выдавать уже готовую кешированную версию.

Сразу приходит в мысль создать какой нибудь html блок и туда класть все открытые разделы по следующему типу:

<div class="cache">
     <div data-page="services"><!-- полностью перемещаем тег article#module сюда  --></div>
     <div data-page="works"></div>
</div>


Это будет работать, но правильно ли поступать так? есть ли более изящные способы или же какие нибудь js библиотеки реализовывающие все это.
  • Вопрос задан
  • 2292 просмотра
Решения вопроса 1
@IceJOKER
Web/Android developer
$.ajax({
cache: true
});

можно поиграться с sessionStorage, url как ключ, и в зависимости от есть или нет данный ключ, выдаем или подгружаем данные.
если надолго нужно сохранить, то localStorage
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы