HTML5 检测浏览器是否支持audio祀video元素
在HTML5中,检测浏览器是否支持audio或video元素,最简单的方式是用脚本动态创建它,然后检测特定函数是否存在,代码如下:
var hasVideo = !!(document.createElement('video').canPiayType);
这段脚本会动态创建一个video元素,然后检查canPlayType()函数是否存在。通过“!!”运算符将结果转换成布尔值,就可以反映出视频对象是否已创建成功。
如果检测结果是浏览器不支持audio或video元素的话,则需要针对这些老的浏览器触发另外—套脚本来向页面中引入媒体标签。虽然同样可以用脚本控制媒体,但使用的是其他播放技术了,如Flash。
另外,可以在audio或video元素中放入备选内容。如果浏览器不支持该元素,那么这些备选内容就会显示在元素对应的位置上。也可以把以Flash插件方式播放同样视频的代码作为备选内容。
如果仅仅只想显示一条文本形式提示信息替代本应显示的内容,那就简单了,在audio或video元素中按下面这样的方式插入信息即可,代码如下:
<video grc="video.ogg" controls>
Your browser does not support HTML5 video.
</video>
如果要为不支持HTML5媒体的浏览器提供可选方式来显示视频,可以使用相同的方法,将以插件方式播放视频的代码作为备选内容,放在相同的位置即可,代码如下:
<video sr c="video.ogg">
<object data="videoplayer.swf" type="application/x-shockwave-flash">
<param name="movie" value="video.swf"/>
</object>
</video>
在video元素中嵌入显示Flash视频的object元素之后,如果浏览器支持HTML5视频,那么HTML5视频会优先显示,Flash视频作后备。不过在HTML5被广泛支持之前,可能需要提供多种的视频格式。
点击加载更多评论>>