Modernizr.videoautoplay 对象显示为真,Modernizr.videoautoplay 返回未定义

Modernizr.videoautoplay object shows true, Modernizr.videoautoplay returning undefined

我使用的是自定义 Modernizr 版本 v3.3.0。我创建了一个简单的 JSFiddle 示例来说明:https://jsfiddle.net/cqkg7x45/6/

console.log(Modernizr);

将显示 Modernizr 对象,当我在 JS 控制台中检查它时,我可以看到 "videoautoplay" 是一个 属性,值为 "true"。

但是,当我这样做时

console.log(Modernizr.videoautoplay)

它returns "undefined"。

我最初是在我正在开发的 WordPress 主题中看到这个问题,但也能够在 JSFiddle 和单独的独立 HTML 页面中重新创建。此外,Modernizr 将 "videoautoplay" class 放在我的 HTML 标签上,即使我知道该设备不支持该功能 (iPhone 5).

更新:这个问题似乎发生在 Chrome (v47.0.2526.106),但不是 Firefox (v43.0.2)。

我将回答我自己的问题,以防其他人遇到此问题。我在这个 SO post: How do I detect if the HTML5 autoplay attribute is supported? 上找到了解决方案。

由于这是一个 "async" 测试,您无法使用语法

访问 属性
Modernizr.videoautoplay

你必须使用.on()函数,如上SO post:

Modernizr.on('videoautoplay', function(result){
  if(result) {
    alert('video autoplay is supported');
  }  else {
    alert('video autplay is NOT supported');
  }
});