javascript - "TypeError: undefined is not a constructor"与 capybara (PhantomJS)

标签 javascript ruby-on-rails ruby phantomjs capybara

我在 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 返回未定义有关。

最佳答案

forEach 是一种 ES 5.1/6 方法,但当前版本的 PhantomJS 最多只支持 ES 5。您将需要 polyfill forEach 或使用 ES 5 兼容方法重写您的代码。

关于javascript - "TypeError: undefined is not a constructor"与 capybara (PhantomJS),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44915507/

相关文章:

javascript - MediaElement.js + 显示 JQuery 模态 : how to pause video/audio on <a ="close-reveal-modal">&#215;</a>

ruby-on-rails - 如何从一个通用脚本运行多个 watir 脚本

ruby-on-rails - 如何在 nginx、passenger 和 redmine 中使用不同的 rails_env

ruby-on-rails - Rails 4 View 渲染非常慢

ruby Aws-sdk v2 公共(public) url 访问被拒绝问题

ruby-on-rails - rails : Passing API Keys to the Controller

javascript - 刷新页面后DIV显示 block 状态

javascript - StructuredClone() 在 TypeScript 中不可用

javascript - 在条件下从 JSON 中收集值

ruby-on-rails - 使用 postgres 将 ruby​​ on rails 部署到 heroku 导致 http 404