Клуб API Карт

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

maxim.koronchik
28 марта 2013, 16:18

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

13 комментариев
Подписаться на комментарии к посту

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

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

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

<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 такое часто было, посмотрите на какую строчку кода ссылается браузер.

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

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

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

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


То есть:

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

 

ymaps.ready(function () {

 

       alert(1);

 

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

 


 

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

 

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

Опять же:

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

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

 

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

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

 

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

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

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

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

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

 

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

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

ymaps.ready(function () {

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

});

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

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

ymaps.ready(function () {

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

});

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

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