Здравствуйте. Хочу попросить совет у вас. Есть многостраничный сайт, на сайте куча js скриптов, все работает хорошо. Но на одной из страниц сайта (для зареганых пользователей, в личном кабинете, страница объявления -> добавление объявления) скрипт ( просто модалка fancybox) работает очень медленно. На остальных страницах все работает быстро и без нареканий ( ссылка, которая вызывает скрипт располагается в шапке сайта). Медленно он загружается на странице где есть форма, которая так же выбирает города, регионы итд ( код ниже). Данные берутся из контекста! В Хроме загрузка идет 25-28 секунд. в FireFox - 2,5 сек.
{% load hosts %}
<div class="b-header">
<div class="b-header__menu">
<div class="container">
<div class="row">
<div class="col-xs-12">
<div class="b-menu">
<a>...</a>
<a>...</a>
<a>...</a>
<a>...</a>
<span class="b-menu__item btn_change-location">
<a href="#change-location" class="fancybox dashed">
{% if user.is_authenticated %}
Просмотр объявлений на территории:
{% if user.districts.all.count > 1 %}
{% for district in user.districts.all %}
{% if forloop.last %}
<span>{{ district }}</span>
{% else %}
<span>{{ district }},</span>
{% endif %}
{% endfor %}
{% else %}
{% for district in user.districts.all %}
<span>{{ district }}</span>
{% endfor %}
{% endif %}
{% if user.regions.all.count > 1 %}
{% for region in user.regions.all %}
{% if forloop.last %}
<span>{{ region }}</span>
{% else %}
<span>{{ region }},</span>
{% endif %}
{% endfor %}
{% else %}
{% for region in user.regions.all %}
<span>{{ region }}</span>
{% endfor %}
{% endif %}
{% if user.cities.all.count > 1 %}
{% for city in user.cities.all %}
{% if forloop.last %}
<span>{{ city }}</span>
{% else %}
<span>{{ city }},</span>
{% endif %}
{% endfor %}
{% else %}
{% for city in user.cities.all %}
<span>{{ city }}</span>
{% endfor %}
{% endif %}
{% else %}
Просмотр объявлений на территории:
{% endif %}
</a>
</span>
</div>
</div>
</div>
</div>
</div>
Шаблон модалки ( получение данных из контента)
{% load hosts %}
{% load widget_tweaks static %}
<div id="change-location">
<form action="{% host_url "setlocation" host "www" %}" method="post">
{% csrf_token %}
<div id="chose-city-wrap">
<div class="b-modal__title">Выберите ваш город</div>
<p>
<div class="b-modal__item">
<span>{{ location_form.country.label }}</span>
{{ location_form.country }}
</div>
</p>
<p>
<div class="b-modal__item">
<span>{{ location_form.districts.label }}</span>
{{ location_form.districts }}
</div>
</p>
<p>
<div class="b-modal__item">
<span>{{ location_form.regions.label }}</span>
{{ location_form.regions }}
</div>
</p>
<p>
<div class="b-modal__item">
<span>{{ location_form.cities.label }}</span>
{{ location_form.cities }}
</div>
</p>
<br />
<div class="b-modal__item b-modal__item_btn">
<input class="b-btn b-btn_red" type="submit" value="Сохранить">
</div>
</div>
</form>
</div>
Форма загрузки городов на странице где тормозит модалка!
<fieldset>
<legend>Территория распространения объявления</legend>
{{ form.country|add_class:"b-input__input js-select" }}
{{ form.districts|add_class:"b-input__input js-select chosen-select" }}
{{ form.regions|add_class:"b-input__input js-select chosen-select" }}
{{ form.cities|add_class:"b-input__input js-select chosen-select" }}
{# form.geo|add_class:"b-input__input" #}
</fieldset>
Если скрипт стоит в шапке, то стоит посмотреть что грузится перед ним. Это, вероятно, css и другие скрипты. На этой странице в css могут быть указаны какие-нибудь большие картинки, например. Посмотрите вкладку network в консоле разработчика, чтобы точно узнать, что именно грузится.
Продвижение своими сайтами как стратегия роста и независимости