2011-08-25 2 views
0

Можно ли кэшировать динамическую веб-страницу, если javascript используется для изменения отображения или записи нового innerHTML на страницу. Например, возможно, какой-то ajax запускает и извлекает некоторую информацию из базы данных, которая затем динамически отображается на странице, переписывая innerHTML div.Можно ли кэшировать динамическую веб-страницу?

Можно ли кэшировать последний html и обслуживать его, а не воссоздавать его каждый раз. Спасибо,

Dan

+0

Возможно, вы захотите изучить использование localStorage: http://diveintohtml5.org/storage.html –

ответ

0

Да, конечно.

Общепринято с автоматическим заполнением полей ввода текста, чтобы кэшировать результаты, чтобы удары назад или удаления не пересылали запросы на сервер.

Как это сделать? Просто прочитайте innerHTML из дерева DOM и сохраните где-нибудь, в переменной JavaScript или даже в локальном хранилище HTML5.

+0

Хммм. Думаю, я могу перестроить все это, посмотрев, что я пишу в innerHTML и сохраняю. Это может сработать. Я посмотрю. – user873477

0

Это действительно зависит от того, насколько динамична ваша страница на самом деле, особенно если вы показываете информацию, непосредственно относящуюся к пользователю, то есть «G'Day Flungabunga, как дела в Сиднее, Австралия» с помощью запроса ajax.

По моему опыту решения и методы, используемые для достижения кеширования этих результатов и сохранения Javascript в качестве основного механизма, стали чрезмерно сложными и хрупкими.

Для достижения такого поведения и эффективного кэширования этих результатов мы использовали Ларный кэш и ESI (Edge Side Includes).

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

+0

Спасибо за информацию о лаке. – user873477

Смежные вопросы