0

このコードを試してみましたが、機能していないようです。フォールバックを作成しようとしているので、非 html5 ブラウザー (ie/safari) が Web サイトをロードすると、ビデオなしで別のコンテンツが表示されます。

<?php if (Modernizr.video) {
<video id="video" src="video.ogv" autoplay />
}
else 
{
<img src="text.jpg">
}?>

どんなフィードバックでも素晴らしいでしょう。ありがとうございました

4

1 に答える 1

0

問題は、サーバー側で行われることとクライアント側で行われることの混乱にあるようです。Modernizrは JavaScript ライブラリです。PHP はサーバー側の技術であり、JavaScript はそうではないため、そのコードを PHP ブロックに入れても何の役にも立ちません。

別の方法として、PHP を使用して JavaScript に必要なデータを提供し、次に JavaScript を使用して表示する HTML を決定します。

<script>
if (Modernizr.video) {
    document.write('<video id="video" src="<?php echo 'video.ogv'; ?>" autoplay />');
} else {
    document.write('<img src="<?php echo 'text.jpg'; ?>" />');
}
</script>

ビデオ/画像を表示する HTML にこのコードを配置します。PHP を使用してファイル名をエコーアウトすることに注意してください。これにより、ファイル名を動的に指定できます。HTML5 の機能を利用するには、ファイル名を HTML5 の data-* 属性に配置し、JavaScript を使用してすべてのビデオを同時に処理することをお勧めします。

<div class="has-video" data-video="<?php echo 'video.ogv'; ?>" data-image="<?php echo 'text.jpg'; ?>"></div>
于 2011-07-22T13:44:52.617 に答える