HTML5视频 - 如果文件不存在,则还原为SWF回退 [英] HTML5 video - if files do not exist, revert to SWF fall back

查看:188
本文介绍了HTML5视频 - 如果文件不存在,则还原为SWF回退的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用下面的代码,并希望对这种方法提供一些建议。我们正在优化我们的iPad,平板电脑,Mac,iPhone和Android等移动网站。



我决定最好的方法是先做HTML5,如果HTML5不行存在然后回落到Flash。但是它不能正常工作。例如,如果所有HTML5视频都不存在,则会显示MIME错误,并且不会回退到Flash?

 < video width =294height =530loop =preload =falseautoplay =id =GCFlashAltcontrols =controlstabindex =0> 
< source type =video / webmsrc =http://cdn.com/718_blacklep/718_blacklep.webm>< / source>
< source type =video / oggsrc =http://cdn.com/718_blacklep/718_blacklep.ogv>< / source>
< source type =video / mp4src =http://cdn.com/718_blacklep/718_blacklep.mp4>< / source>
< param value =http://cdn.com/718_blacklep/718_blacklep.swfname =movie>
< param value =bestname =quality>
< param value =#ffffffname =bgcolor>
< param value =truename =play>
< param value =truename =loop>
< param value =transparentname =wmode>
< param value =showallname =scale>
< param value =truename =menu>
< param value =falsename =devicefont>
< param value =name =salign>
< param value =sameDomainname =allowScriptAccess>
<! - [if!IE]> - >
< param value =http://cdn.com/718_blacklep/718_blacklep.swfname =movie>
< param value =bestname =quality>
< param value =#ffffffname =bgcolor>
< param value =truename =play>
< param value =truename =loop>
< param value =transparentname =wmode>
< param value =showallname =scale>
< param value =truename =menu>
< param value =falsename =devicefont>
< param value =name =salign>
< param value =sameDomainname =allowScriptAccess>
<! - <![endif] - >

<! - [if!IE]> - >
< / object>
<! - <![endif] - >
< / object>
< / video>


解决方案

这是我们解决的问题。跨浏览器和跨设备兼容。



我们不想使用外部库,虽然mediaelementsjs和其他人是不错的选择,这是我们最好的解决方案。
$ b $ 1 - 检查用户是否有Flash,如果他们这样做,播放SWF版本的视频



2 - 如果用户没有Flash,请检查他们是否启用了HTML5。


$ b $ 3如果他们有HTML5,首先播放mp4(必须支持浏览器播放)



4 - 如果他们有HTML5,但在Firefox或手机上,例如播放 .ogv



5 - 最后播放webm失败以上全部



6 - 如果它们没有这些功能,我们只包含一个空格。这触发站点上的视频播放按钮,根本不显示视频功能。



没有PHP,一个jQuery jQuery,剩下的就是有效的HTML5。这是我们发现的最好的解决方案,因为它适用于包括iPad在内的所有设备。我们还有一个 IF IF CONDITIONAL 用于旧版Internet Explorer的缺点 - 这对IE播放也是有帮助的。



结果我们看到的是非常好的,这个文件适用于我们用于人口统计的每个客户设备和浏览器。我们使用GetClicky,他们有一个API,添加< video title =视频名称使HTML5和SWF播放可跟踪。

 < div class =videobox showorhideid =videoisonbox> 
< param value =http://cdn.com/718_blacklep/718_blacklep.swfname =movie>
< param value =bestname =quality>
< param value =#ffffffname =bgcolor>
< param value =truename =play>
< param value =truename =loop>
< param value =transparentname =wmode>
< param value =showallname =scale>
< param value =truename =menu>
< param value =falsename =devicefont>
< param value =name =salign>
< param value =sameDomainname =allowScriptAccess>
<! - [if!IE]> - >
< param value =http://cdn.com/718_blacklep/718_blacklep.swfname =movie>
< param value =bestname =quality>
< param value =#ffffffname =bgcolor>
< param value =truename =play>
< param value =truename =loop>
< param value =transparentname =wmode>
< param value =showallname =scale>
< param value =truename =menu>
< param value =falsename =devicefont>
< param value =name =salign>
< param value =sameDomainname =allowScriptAccess>
<! - <![endif] - >