[web] посоветуйте как лучше сделать
между генерацией на сервере и генерацией на стороне клиента?
Траффик
если трафик, то аяксом вытаскивать очередной уровень и сохранять уже в объекте на клиенте
В обоих случаях собирается передавать все данные.
При необходимости загрузить в любом случае все данные — да, профит от смены метода небольшой.
Так, вписту аякс. Мы не хотим, чтобы клиент ждал после каждого нажатия на пункт. Жсон-массив из 5к элеметов отдать это не проблема.
Не только. Шаблонизатор ещё сильно охреневает от такого надругательства (1к хитов VS 6к хитов в секунду при отключенном меню на моей машине) (если что - это черновой вариант, чтобы было что тестировать).
Так что там насчёт конкретных советов? Просто я не спец в js, он говорят по-разному работает в разных браузерах. Напишу что-нибудь, а он в каком-нибудь IE старом не будет работать - некарашо.
Так, вписту аякс. Мы не хотим, чтобы клиент ждал после каждого нажатия на пункт. Жсон-массив из 5к элеметов отдать это не проблема.Я не совсем понял, что тебе нужно, возможно это?
Главное чтобы пользователям удобно было.
Вообще я уже было решил через http://goessner.net/download/prj/jsont/jsont.js сделать, но решил вот проконсультироваться на всякий случай.
там слишком много лишней информацииgzip сжатие не спасет?
Спасает, но вроде оно не всеми браузерами поддерживается. К тому же это надо зазипованый хтмл на сервере кешировать. Я не хочу заморачиваться в системе мониторинга кеша разархивированием.
Фишка в том, что по открытию уровня N асинхронно фоном грузятся все возможные внуки (N+2)
Выглядит это так, что при открытии дети появляются мнгновенно (они уже загружены и вставлены в dom) и по мере подгрузки внуков появляются ссылочки раскрытия детей
Кстати, по теме: http://habrahabr.ru/post/200898/ - можно домудрить до нехватки памяти с такими деревьями
а за статью спасибо, интересно
всё будет через Handlebars
Есть выпадающее меню с ~5к позиций (5-8 уровней вложенности).Никакой юзер в здравом уме не будет просматривать 5к позиций. Средний юзер, скорее всего, даже сотню позиций не просмотрит. Я бы делал аяксом, благо на хорошем коннекте задержка в доли секунды не заметна. И прекэш внуков, как Корян предлагал.
Ребят, а гугл такой контент (в виде json массива в яваскрипте) будет индексировать?
для гугла нужно отдавать статику в специальном виде
Оставить комментарий
kill-still
Есть выпадающее меню с ~5к позиций (5-8 уровней вложенности). Надо отобразить его на вёб-страничке. По моим соображениям, передавать в виде хтмл это плохо, т.к. там слишком много лишней информации. Имхо, лучше передать в виде допустим json-а и построить хтмл на стороне клиента. Посоветуйте, как лучше сделать. Я думаю данная задача решалась уже овер дофига раз. Может есть готовые открытые js библиотеки?