По дате Февраль 15th, 2012

Array.forEach или object doesn’t support this property or method

При переборе массива с использованием forEach в Internet Explorer вывалилась ошибка object doesn’t support this property or method

IE 7 не поддерживает конструкцию forEach для массивов [1,2,3] - то есть код вида

array_for = [1,2,3] ;
array_for.forEach = ...
//или
[1, 2, 3].forEach(print)

выдаст ошибку.
Чтобы исправить ошибку следует определить функцию
Array.prototype.forEach = function(callback, thisObj) {
for (var i = 0,len = this.length; i < len; i++)
callback.call(thisObj, this[i], i, this);
};

И вообще, в ie 8 (ie 7 и ie 6) не поддерживаются некоторые функции обхода массивов:
http://stackoverflow.com/questions/2790001/fixing-javascript-array-functions-in-internet-explorer-indexof-foreach-etc

Опубликовано Февраль 15, 2012 | автор: levik  |  Нет комментариев »