Клуб API Карт

Не работает функция в IE.

EFRRR
30 января 2010, 12:17

Добрый всем день!

Столкнулся с проблемой, точнее наблюдаю проблему, откройте

http://api.yandex.ru/maps/jsapi/examples/mapeventscreatelink.html

Этот скрипт должен формировать ссылку, НО если мы подвигаем, или уменьшим или увеличим карту, то вылезает ошибка IE, сообщающая, что обьект не поддерживает функцию или метод. Ошибка происходит в function TypeConverter (), а именно при возврате объекта из массива types: return types[valid(names.indexOf(name))]; И ссылка соответственно не формируется.

Почему данная ошибка возникает, и почему именно в IE - понять не могу. Просматривал в IE7 и IE8. На фаерфоксе и хроме всё в порядке.


3 комментария
Подписаться на комментарии к посту
Наверное, потому, что в IE нет Array#indexOf.
Спасибо, исправим.

В IE нет метода indexOf у массива (как и сказал Азат). Нужно добавить, например, такой код:
if(!Array.indexOf){
Array.prototype.indexOf = function(obj){
for(var i=0; i<this.length; i++){
if(this[i]==obj){
return i;
}
}
return -1;
}
}