@m0ody
backend dev (python, django, postgresql, celery)

Как оптимизировать большое количество jQuery диалогов на странице?

Приложение представляет собой админку написанную на базе Backbone. Все данные рендерятся на клиенте.
В приложении используется множество диалогов (штук 20) с большим количеством select2, zTree и прочих jquery плагинов.
Как оптимально рендерить диалоги?
- Стразу после того, как сработал DOM ready срендерить все диалоги и спрятать их;
- Рендерить при первом обращении к диалогу и после закрытия удалять из DOM;
- Рендерить при первом обращении и оставлять его в после этого в DOM.
- Другое?
  • Вопрос задан
  • 3375 просмотров
Решения вопроса 1
Зависит от задачи.

Если нужно, чтобы окно мгновенно открывалось, то лучше все загружать и формировать UI заранее, в фоне (лучше в отдельном потоке, создав его с помощью setTimeout). Но это может неблагоприятно сказаться на потребляемом трафике и добавить нагрузку при старте.

Я бы, наверно, выбрал вариант с отрисовкой при первом обращении, а потом скрывал, не удаляя из DOM.

А еще можно попытаться поискать балланс, проанализировав статистику. Наиболее нужные и частоиспользуемые диалоги можно подгружать заранее, остальные - при обращении. Те, которые чаще всего используются только один раз (то есть, редко), можно из DOM удалять для освобождения памяти.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы