2

我正在玩 html5 视频,因为很高兴为 iphone/ipad 提供后备。html5 视频首先检查<source>元素,如果不支持任何格式,它会退回到<video>标签内提供的任何内容(例如 Flash)。

我很想扭转这种行为以节省带宽:默认情况下使用 flash,如果不可用则回退到 html5 视频。

没有办法在不使用 javascript 的情况下获得这种行为?(然后解决方案变得非常明显)。

最好的,汉斯,-

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

pps我目前的解决方案是

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

这是次优的,因为它适用于 iphone/ipad,但在使用未安装 flash 的旧浏览器时会导致大混乱。

4

1 回答 1

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>

为 youtube/vimeo 嵌入提供 html5-alternatives: 请注意,拥有该<object data="..." />属性至关重要,并且在 youtube/vimeo/etc 的嵌入代码中缺少该属性。提供。确保更改它,只需将<video/>标签放入您复制+粘贴的代码中,就会让您非常头疼。

于 2010-07-07T17:56:45.657 回答