有没有一种好的方法来检测客户端浏览器是否允许HTML5视频的内联媒体播放?
更新
我并不是想简单地检测视频支持。
我正在尝试检测视频只能全屏播放还是也可以内联播放。因为在iPhone Safari上,iOS视频只能全屏播放,但是在iPad上,视频可以内联播放。通过内联,我的意思是在页面中不切换到全屏。
最佳答案
如果将playsinline
属性添加到视频标签,则现在可以在iOS10中内嵌视频播放。
您可以使用('playsInline' in document.createElement('video'))
进行检测。
但是,这还不够,因为它在桌面浏览器中不存在-显然,内联播放是标准功能。
所以这就是我想出的:如果不是iPhone/iPad,那么我们只是假定视频可以内联播放(对于某些android设备这可能会失败)。否则,请运行上述测试以检查iOS10
这是我的Modernizr测试。
Modernizr.addTest('inpagevideo', function ()
{
return navigator.userAgent.match(/(iPhone|iPod)/g) ? ('playsInline' in document.createElement('video')) : true;
});