Клуб API Карт

Script element was not found.

Myr3uk
12 сентября 2017, 17:39

Столкнулся со странной ошибкой в IE - Script element was not found.

Появляется она когда карта созданная в конструкторе подгружается через jQuery getscript. В firefox и chrome карта отображается. В IE нет.

Поисковики такой ошибки не знают и ничего не предлагают.

Вот пример кода:

<script>
	$(document).ready(function() {
		$.getScript('https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3Acd768f7e8220cf76ed6f8f8726746ed690382792d5975fc4a10a55b7ac19d99b&amp;width=100%25&amp;height=315&amp;lang=ru_RU&amp;scroll=true&id=map-test');
	});
</script>
<div id="map-test"></div>

Вот тут можно посмотреть пример вживую.

10 комментариев
Всеволод Шмыров
Сотрудник Яндекса21 ноября 2017, 14:06
Добрый день. В jquery в IE поведение метода getScript отличается от других браузеров. Для нормальной работы виджета конструктора необходимо иметь добавленный в документ тег-script. По нему определяется куда именно нужно добавить карту. 
Это проблему можно решить
- если добавлять скрипт не через $.getScript
- если использовать GET-параметр id (поиска тега-script не будет. карта будет добавлена в элемент с указанным id)
- если использовать iframe для вставки карты на сайт
GET-параметр id в IE проблему не решает - ошибка остаётся прежней.


getScript необходим по той причине, что в базе уже имеется несколько сотен схем проезда, которые активно используются. Заставлять сотрудников их переделывать очень не хотелось бы.
Данная проблема до сих пор актуальна.
В ie11 не отображается карта, созданная в конструкторе, в других браузерах все хорошо.
Скрипт такой: <script type="text/javascript" charset="utf-8" async src="https://api-maps.yandex.ru/services/constructor/1.0/js/?um=constructor%3Aec6bd4865d6bfa47ff31f4919206fe8b829f85fe801bd50669cd6f5e12dafb55&amp;lang=ru_RU&amp;scroll=false&amp;id=ya-map"></script>


Есть идеи?
milstas,
проверим на своей стороне, спасибо
ymapsapi,

Аналогично. В IE-11 пишет "Script element was not found."
Пробовал и через $.ajax подгружать и просто конструкцией вида:
$("#element").html('<script type="text/javascript" charset="utf-8" async src="........&id=yamLoad&amp;width=700&amp;height=500&amp;lang=ru_RU&amp;scroll=true"></script><div id="yamLoad"></div>');



Во всех браузерах работает, а в IE нет.
Артем Жестков
25 июня, 14:30
ymapsapi,
 плюсую, проблема присутствует в IE-11
Артем Жестков,
попробуйте сейчас
inspirra,
попробуйте, работает ли сейчас
ymapsapi,
Ок. Заработало! Благодарю!
milstas,
должно заработать, попробуйте, пожалуйста