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');
}
});
我使用的是自定义 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');
}
});