2010-07-06 107 views
2

我正在玩HTML5视频,因为它有很好的iphone/ipad后备。 html5视频首先检查<source>元素,如果不支持任何格式,则回落到<video>标记(例如,闪光灯)内提供的任何内容。html5视频标签+ flash视频:如何更改优先级

我很想扭转行为来节省带宽:默认情况下使用Flash,如果不可用,则返回到html5视频。

是否有任何获得此行为的方式不使用javascript? (然后解决方案变得非常明显)。

best,hansi, -

p.s.我确实尝试将元素“内向外”(<object><video/></object>而不是<video><object/></video>,但这会导致视频显示两次)

p.p.s.我目前的解决方案是

if(navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]){ ... } 
else{ ... } 

这是次优的,因为它适用于iPhone/iPad的,但使用旧的浏览器时,会导致很大的混乱没有安装Flash。

+1

您的标记中是否包含type =“application/x-shockwave-flash”?例如, 2010-07-07 15:05:26

回答

2

非常感谢“zach at longtail”!的工作!

供参考,在这里是如何“先闪烁,然后HTML5”得到的行为:

<object type="application/x-shockwave-flash" width="..." height="..." data="..."> 
    <param name="movie" value="..." /> 
    <video width="..." height="..."> 
     <source src="..." type="video/mp4" /> 
     <source src="..." type="video/webm" /> 
     <source src="..." type="video/ogg" /> 
    </video> 
</object> 

为了提供HTML5替代品到YouTube/VIMEO嵌入: 请注意,具有<object data="..." />属性至关重要,并且它在嵌入代码中缺少youtube/vimeo /等。提供。 一定要改变这一点,只要将<video/>标记放入您复制粘贴的代码中,就会让您感到头痛。