Типовой SPA-сайт, страница формируются через аджакс, переход по страницам через history.pushState.
В получаемом с php-сервера массиве три подмассива:
- для шапки (меню, баннер)
- контент (для главной - список товаров, для стр. товара - собственно сам товар)
- для подвала - несколько меню, блок с контактами
Секция head с скриптами и стилями конечно же статичная.
Пока что каждая страница получает полный набор данных и соответственно генерируется вся страница заново, естественно не считая секцию head. Почему-то стали глодать сомнения,
правильно ли так?
Один из вариантов вижу - если на страницу зашли по внешней ссылке (или прямой ввод в адресную строку браузера) - генерируем всю страницу, если перешли через history.pushState -генерировать только контентную часть, а банеры и меню в шапке и подвале не трогаем. Вопрос с определением - откуда зашли - пока не решен, но не суть. Допустим вопрос решен и я могу получать сигнал - зашли оттуда-то и генерирую то ито.
Вопрос - как правильнее? Как это делают раскрученные JS-фреймворки из первой пятерки?