У меня ошибка JavaScript с тестом функции Capybara. Но ошибка не возникает с обычным браузером Chrome. Ниже приведен код JavaScript.
document.addEventListener('DOMContentLoaded', function(){
var enable = function(){
document.querySelectorAll('input').forEach(function(e){ e.disabled = false });
}
/* do something ..*/
enable();
}
Сообщение об ошибке - TypeError: undefined is not a constructor (evaluating 'form.querySelectorAll('input').forEach(function(e){ e.disabled = false })')
. Я думаю, что это связано с тем, что forEach
возвращает undefined.
forEach
- это метод ES 5.1/6, но текущая версия PhantomJS поддерживает только до ES 5. Вам нужно либо полифонировать forEach, либо переписать свой код с использованием совместимых с ES 5 методов.
forEach
делает и должен возвращать undefined - хотя не все реализацииNodeList
(что возвращаетNodeList
) имеют методforEach
- см. developer.mozilla.org/en/docs/Web/API/…