我在Capybara功能测试中遇到JavaScript错误。 但普通的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有关。
答案 0 :(得分:3)
forEach
是ES 5.1 / 6方法,但当前版本的PhantomJS仅支持ES 5.您需要使用ES 5兼容方法对forEach进行polyfill或重写代码。