@uzi_no_uzi

Как правильно вставить скрипт на страницу?

Пытаюсь поменять yandex карты.

Имеется функция mapInit(); , которая просто инициализирует карту, когда документ готов.

Далее вот такой код:

function createMapLang() {
            let lang = localStorage.getItem('lang');

            var newMap = `<script data-change='true' src="https://api-maps.yandex.ru/2.1/?apikey=f6857b56-4852-45e5-8221-f84bb63b1169&lang=${lang}"></script>`

            $('body').append(newMap);
                mapInit();
            
            

        }

        createMapLang();


        

        $('.lang-list__link').each(function() {
            $(this).click(function() {
                let lang = $(this).attr('data-lang');
                localStorage.setItem('lang', lang);

                window.location.reload();
            })

        })


При смене языка, в локальное хранилище заносится код языка и перезагружается страница, когда страница перезагружена вызывается createMapLang, которая генерирует новый script и вставляет на страницу.

Но в консоле получаю такую ошибку:

ReferenceError: ymaps is not defined


Я думаю это может быть свзяно с тем, что я не в тот момент добавляю скрипт, или после добавления скрипта он еще не успел загрузиться, какие могут быть причины?
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы