我正在使用自定义的现代化构建,v3.3.0。我创建了一个简单的JSFiddle示例来说明:https://jsfiddle.net/cqkg7x45/6/。
console.log(Modernizr);当我在JS控制台中查看它时,我可以看到“视频自动播放”是一个值为"true“的属性。
但是当我这么做的时候
console.log(Modernizr.videoautoplay)它返回“未定义”。
我最初在我正在开发的WordPress主题中看到了这个问题,但也能够在JSFiddle和一个独立的HTML页面中重新创建。而且,尽管我知道设备不支持这个特性(iPhone 5),但现代派还是把“视频自动播放”类放在了我的HTML标签上。
更新:这个问题似乎发生在Chrome (v47.0.2526.106),而不是Firefox (v43.0.2)。
发布于 2016-01-12 21:13:52
我将回答我自己的问题,以防其他人遇到这个问题。我在这样的帖子上找到了解决方案:How do I detect if the HTML5 autoplay attribute is supported?。
因为这是一个“异步”测试,所以不能使用语法访问属性
Modernizr.videoautoplay您必须使用.on()函数,如上面的所以post所示:
Modernizr.on('videoautoplay', function(result){
if(result) {
alert('video autoplay is supported');
} else {
alert('video autplay is NOT supported');
}
});https://stackoverflow.com/questions/34753255
复制相似问题