Клуб API Карт

Ошибка в IE при удалении скрытого элемента с картой

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

В Internet Explorer (вплоть до десятой версии) выпадает куча ошибок при попытке вызвать map.destroy у карты, у которой перезаписан контейнер. Ошибки такого вида:

 

SCRIPT5007: Не удалось получить свойство "offsetWidth" ссылки, значение которой не определено или является NULL 

combine.xml, строка 1 символ 295075

JSFiddle, демонстрирующий проблему.

 

Такая же проблема есть при вызове деструктора карты, отрисованной в скрытом элементе и ни разу не показанной, но её я в фиддле пока воспроизвести не могу.

4 комментария

Зачем делать $('#ymaps-map').html(''); если вы делаете map.destroy() 

?

Сергей Широков
28 января 2016, 01:22

На самом деле там шаблон перерисовывается Mustache. map.destroy я делаю чтобы создать на месте map новый объект карты, в новом шаблоне.

Надо сначала делать map.destroy,

потом перерисовывать. Думаю при map.destroy АПИ пытается чтото отвязать от контейнера, который уже удален

Sergey Konstantinov
28 января 2016, 01:22
По map.destroy API пытается вагон всякого отвязать от контейнера.