2

私はhtml5のビデオをいじっています。iphone/ipadのフォールバックがあるのはいいことです。html5 ビデオは最初に要素をチェックします。サポートされている形式がない場合は、タグ <source>内で提供されているコンテンツ (フラッシュなど) にフォールバックします。<video>

帯域幅を節約するために動作を逆にしたいと思います。デフォルトでフラッシュを使用し、利用できない場合は html5 ビデオにフォールバックします。

JavaScriptを使用せずにこの動作を取得する方法はありますか? (その後、解決策は非常に明白になります)。

最高、ハンシ、-

ps要素を「裏返し」にしてみました(<object><video/></object>の代わりに<video><object/></video>、ビデオが2回表示されます)

pps私の現在の解決策は

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

これは最適ではありません。iphone/ipad では機能しますが、フラッシュがインストールされていない古いブラウザーを使用すると、大きな問題が発生します。

4

1 に答える 1

2

「ロングテールのザック」に感謝します!、それはうまくいきました!

参考までに、「最初にフラッシュし、次に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の代替を提供する場合:<object data="..." />属性を持つことが重要であり、youtube / vimeo/etcの埋め込みコードにはないことに 注意してください。提供。必ず変更して<video/>ください。コピーして貼り付けたコードにタグを投げるだけで、まさに私が抱えていた頭痛の種になります。

于 2010-07-07T17:56:45.657 に答える