Почему у меня эта ошибка: объект не поддерживает свойство или метод "forEach" для Internet Explorer?
Я работаю над Javascript на плагине jenkins с помощью maven, и у меня есть этот код:
function arrayElements(element, index, array)
{
var arrayPaths = element.split("");
var projectSource = arrayPaths[2];
var array = element.split("_");
if (projectSource === global ) {
if (array[2]===filtro){
document.getElementById("source").options.add(new Option(arrayPaths[3], element));
}
}
}
function fillCompiledSource(object, projects)
{
document.getElementById("source").innerHTML = "";
global = document.getElementById("branches").value;
projects.forEach(arrayElements)
}
var projects = new Array();</script><script>
function fillCombo()
{
document.getElementById("source").innerHTML = "";
global = document.getElementById("branches").value;
var array = document.getElementById("branches").value.split('/');
global = array[1];
projects.forEach(arrayElements)
}
это сбой только в internet explorer и только когда режим документа является стандартом IE8, я не знаю, в чем причина и как я могу это решить..
Pd: Internet explorer 10
2 ответов
Да, это потому, что IE8 не реализовать Array.forEach
(ни много других, более современных методов в JS). Если вам нужно работать в IE8, вам придется ШИМ это (см. раздел совместимость).
кстати, MDN также имеет ресурсы для большинства других неподдерживаемых методов.
Это может помочь. Чтобы решить проблему в jQuery:
//This will fail in IE8
myObject.each(function(index, value){
//your code goes here
});
//This will work in IE8 and all modern browsers
$.each(myObject, function(index, value){
//your code goes here
});