Клуб API Карт

Не срабатывает обработчик ymaps.ready в ИЕ7-8

Пост в архиве.

В браузерах IE при document-mode IE7-8, событие ymaps.ready(init); не отрабатывает и функция init не вызывается. В виду этого карта не отрисовывается.

13 комментариев

Дайте ссылку на страницу.

Максим Корончик
28 января 2016, 02:26

разработка ведется на локальной ветке и нету возможности дать ссылку.

по факту - все скрипты подключены в следующей последовательности:

<script type="text/javascript" src="/site/js_dis/101871/jquery.js">script>
<script type="text/javascript" src="http://api-maps.yandex.ru/2.0.25/?load=package.standard&lang=ru-RU">script>
далее скрипт вызова карты.
В других браузерах проблем нету.

По этому коду невозможно понять, почему у вас неправильно работает апи в ие7-8. У нас работает =)

и у меня работает. у вас просто ошибка в коде, у меня с ie такое часто было, посмотрите на какую строчку кода ссылается браузер.

Максим Корончик
28 января 2016, 02:26

ИЕ не выдает ошибку. Просто ymaps.ready(init)

и функция init не вызывается.

если выставить document-mode IE9, то проблемы нету.

для document-mode IE7-8 проблема есть.


То есть:

если написать 

 

ymaps.ready(function () {

 

       alert(1);

 

});, то ничего не произойдет. 

 


 

Ошибок на странице нету.

 

Такой пример кажется недолго выложить на любой хостинг и дать на него ссылку.

Максим Корончик
28 января 2016, 02:26

Опять же:

1) не вижу смысла это делать, так как до самой карты дело недоходит. В ИЕ все останавливается на ymaps.ready и дальше ни шагу. Ошибок скрипта и другого рода на странице нету.

2) нету возможности выложить.

 

Может я где-то что-то в параметрах вызова скрипта не дописал? Может нужна определенная сборка?

еще какой-либо javascript-код есть на странице?

 

Максим Корончик
28 января 2016, 02:26

Очень много и все скрипты перечислить не будет возможности.

Отключай их по одному, пока не сработает ready.

Я не знаю как по-другому можно найти.

Если используются какие-либо библиотеки, кроме jQuery, попробуй обновить их до последних версий.

ааа, так включи jquery сначала во второй версии его нет)

 

Максим Корончик
28 января 2016, 02:26

Он включается сразу перед самой картой(я кидал уже код)

Максим Корончик
28 января 2016, 02:26

Карта инициализируется следующим кодом.

ymaps.ready(function () {

    $("#placeMap").yandexMap(adlistMapParams);

});

Он не отрабатывает и карта не отрисовывается.

В свою очередь, если уже в загрузившемся окне без карты в консоли выполнить $("#placeMap").yandexMap(adlistMapParams);, то она отрисуется. А если выполнить:

ymaps.ready(function () {

    $("#placeMap").yandexMap(adlistMapParams);

});

то опять же ничего не происходит.

Браузер почему-то не видит такого события, как ymaps.ready