Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Подключить скрипт яндекскарт к нескольким страницам с возможностью их изменения (https://javascript.ru/forum/misc/78542-podklyuchit-skript-yandekskart-k-neskolkim-stranicam-s-vozmozhnostyu-ikh-izmeneniya.html)

thegodzila 30.09.2019 02:42

Подключить скрипт яндекскарт к нескольким страницам с возможностью их изменения
 
Здравствуйте, простите если вопрос глупый, но бьюсь уже второй день. Вообщем задача такая через конструктор карт яндекса создать виджет карт и поместить его к себе на сайт условно с 10 страничками ( на каждой). То есть я создаю виджет и получаю код:
<script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3A1671127e21ba3dc83b34e7287f56cf77 26fb38ec7d5cbe959a7d24d580495171&amp;width=100%25& amp;height=600&amp;lang=ru_RU&amp;scroll=true"></script>
То есть подключается он внешним образом к каждой страничке. Размещаю этот код на каждой страничке. НО в будущем я хочу изменить карту, но не хочу изменять код на каждой страничке. Поэтому делал несколько решений.
1. Пытался изменить у тега script значение src средствами CSS и потом Javascript. через ксс вообще это не выполнимо, а через Javascript после замены Script код не выполняется.
2. пытался вынести в отдельный внешний скрипт код, который нашел пройдя по ссылке
(https://api-maps.yandex.ru/services/...d580495171&amp)
и все вроде бы работает, кроме того что создается карта высотой в 1 пиксель. пытался это исправить указав высоту у родительского элемента, но не вышло. по итогу понял в консоле браузера сафари нет переменной amp.
Уже облазил весь интернет ни как не могу решить вопрос. Помогите пожалуйста, понимаю что задача вроде бы несложная. Но что то ни как спасибо заранее!!

Rise 30.09.2019 03:42

Внешний скрипт maps.yandex.js:
(function (a, b, c) {
    b = document.createElement('script');
    b.async = true;
    b.src = a;
    c = document.getElementsByTagName('script')[0];
    c.parentNode.insertBefore(b, c);
})('здесь_указывается_нужная_ссылка');

thegodzila 01.10.2019 02:42

Спасибо большое за помощь!!!!!


Часовой пояс GMT +3, время: 00:57.