Ваша первая идея включить их в основной index.html и показать их по мере необходимости кажется вполне разумной, но имеет несколько недостатков:
- Ваша страница индекса тяжелее и, следовательно, медленнее загружается, чемоно должно быть
- Ваши страницы брошюры логически не разделены в вашей кодовой базе
Вы можете исправить оба этих положения, динамически загружая HTML-код для них после загрузки index.html,Вы по-прежнему будете использовать тот же код на стороне клиента, чтобы показать страницы, когда пользователь щелкает по ним, как если бы они были встроены в основной файл HTML, но вместо того, чтобы включать HTML в исходный файл index.html ...
<div id="faq-page">
<h1>FAQ</h1>
...
</div>
имеет пустые div и событие для загрузки их через AJAX после рендеринга главной страницы.Я не уверен, что вы используете JQuery, но если это так, код будет выглядеть следующим образом
<div id="faq-page"></div>
<script>
$(function() {
$("#faq-page").hide() // ensure it doesn't display too early
.load("/include/faq.html"); // async load the content from server
});
</script>
Теперь, когда пользователь нажимает ссылку FAQ в вашем приложении, страница будет отображаться так быстро, каквозможный.Если у страницы было время для загрузки (обычно), она будет отображаться мгновенно.Если им удастся перейти по ссылке до ее загрузки, она появится, как только сервер ответит.
Вы настроили /include/faq.html
так, как хотели бы на стороне сервера.