Проблема JS и кнопки F5: как исправить?

Здравствуйте!

Проблема наблюдается на 1 из моих сайтов-визиток. Это сайт дет. сада по адресу academyfs.ru, работает на WordPress.

Суть: Обратите внимание, что справа есть раздел "Как с нами связаться?". В нем должна быть расположена Яндекс Карта вида

При заходе на сайт (или перемещении по страницам) при первой загрузке страницы карта не загружается (создается пустой div), но при перезагрузке страницы по F5 карта появляется. И так, кстати, не только с этой картой, но и вообще со всем джаваскриптом.

С чем связана эта проблема и как можно было бы от нее избавиться человеческим способом (не ставить же автоматический рефреш)?
  • Вопрос задан
  • 2674 просмотра
Пригласить эксперта
Ответы на вопрос 1
Any1
@Any1
Ответ на ваше второе уточнение.
Вы используете hashchange. Как и Turbolinks, и другие подобные библиотеки, он при переходе от страницы к странице НЕ вызывает ready-событие на document. Поэтому код
$(document).ready(function(){
    // function here
});

срабатывает единожды при загрузке. Как только вы переходите на другую страницу, затем идете назад, код в этом блоке не выполняется. Соответственно, карты не инициализируются и ничего не происходит.
Чтобы JS выполнялся при каждой смене страницы нужно использовать
$(window).hashchange(function () {
    // function here
});

или что-то вроде этого.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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