HTML5 视频背景后备

发布于 2024-11-26 08:17:25 字数 260 浏览 1 评论 0原文

我已经尝试过这段代码,但它似乎不起作用,我正在尝试创建一个后备,因此如果非 html5 浏览器(即/safari)加载该网站,它将显示不同的内容,但没有视频。

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

任何反馈都会很棒。谢谢

I've tried this code and it doesn't seem to be working I'm trying to create a fallback so if a non html5 browser (ie/safari) loads the website it'll show different content without the video.

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

Any feed back would be great. Thank you

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

℡寂寞咖啡 2024-12-03 08:17:30

看起来问题在于服务器端所做的事情与客户端所做的事情的混淆。 Modernizr 是一个 JavaScript 库。将其代码放入 PHP 块中不会为您做任何事情,因为 PHP 是一种服务器端技术,而 JavaScript 不是。

另一种方法是使用 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>

It looks as though the issue lies in the confusion of what is done on the server side versus what is done on the client side. Modernizr is a JavaScript library. Putting it's code into PHP blocks won't do anything for you since PHP is a server-side technology and JavaScript is not.

An alternative would be using PHP to provide JavaScript with the necessary data and then using JavaScript to determine the HTML to display.

<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>

You would put this code in the HTML where you want the video/image to display. Note that we use PHP to echo out the filenames. This allows you to provide the filenames dynamically. To take advantage of HTML5's features, I'd recommend placing the filenames into HTML5 data-* attributes, and then using JavaScript to handle all occurrences of video simultaneously.

<div class="has-video" data-video="<?php echo 'video.ogv'; ?>" data-image="<?php echo 'text.jpg'; ?>"></div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文