Вы можете кэшировать ресурсы страницы в localStorage, но большинство современных браузеров уже делают нечто подобное (и лучше). Несмотря на этот собственный кеш браузера, код, сгенерированный из этих ресурсов, требует времени для расчета и применения.
Вы можете немного помочь браузеру в структурировании страниц вашего сайта следующим образом:
<script>
if(!localStorage[location.pathname]) {
//load this page from server
localStorage[location.pathname] = getGeneratedPage();
} else {
body.innerHTML = parseGeneratedPage(localStorage[location.pathname]);
}
</script>
Это просто ОЧЕНЬ общий пример. GetGeneratedPage может быть функцией, которая хранит ТОЛЬКО:
- Дерево DOM после загрузки страницы
- Правила CSS, соответствующие этой странице
- JS-функции, у которых есть хотя бы один слушатель
- Base64 изображения (рекомендуется только для небольших изображений или предварительного просмотра больших изображений)
- и т.д.
Кроме того, вы можете сделать эту версию на стороне сервера или что-то вроде Opera Turbo .
Ну, есть бесчисленное множество способов заставить вашу страницу загрузиться в мгновение ока. Надеюсь, это поможет.