我的网站内容是通过PHP include加载的,基于用户从页面顶部菜单中选择的选项 - 菜单选项重新加载index.php页面并将其指向内容包括
除了通过HTML <video>
标记嵌入视频的网页外,这几乎适用于任何内容。在这些页面上,嵌入的视频似乎仍然是可点击的(即,点击它的一部分将带我到托管视频的YouTube页面)但我实际上看不到视频或视频播放器。
这与使用PHP包含有关,还是我还缺少其他东西?我以前一直在为我的网站内容使用iframe,但希望尽可能远离它。
编辑:澄清一下,这是我在加载页面时看到的行为:
视频绝对存在;我可以保存它,如果我右键单击它,我会得到视频播放器的上下文菜单。我实际上无法看到视频。这是index.php文件中实际加载页面内容的块:
<div id="frame">
<?php
$url = '';
if (!empty($_GET['menu'])) {
$url .= $_GET['menu'] . '/';
}
if (!empty($_GET['customer'])) {
$url .= $_GET['customer'] . '/';
}
if (!empty($_GET['product'])) {
$url .= $_GET['product'] . '/index.';
}
if (!empty($_GET['pagetype'])) {
$url .= $_GET['pagetype'];
}
if (empty($url)) {
$url = 'intro.html';
}
include $url;
?>
</div>
所有$GET
值均由用户从主菜单中选择的链接提供,如下所示:
<li><a class="mainMenuLink" href="index.php?menu=products&customer=customer2&product=product5&pagetype=html">Example</a></li>
编辑2:这是视频周边部分页面生成的HTML标记:
<div id="tabs-5"><!-- start tab 5-->
<p>Access videos detailing operations and maintenance.</p>
<div class="accordion">
<h3>Video 1</h3>
<div>
<video src="./products/coffee/sinf/video/video1.mp4" controls></video>
</div>
<h3>Video 2</h3>
<div>
<video src="./products/coffee/sinf/video/video2.mp4" controls></video>
</div>
</div>
</div><!-- end tab 5-->
答案 0 :(得分:0)
如果您检查控制台日志,并且没有看到404 Not Found的错误,那么您可能在PHP端没有做错任何事情。
看起来您正在使用Chrome,因此Inspect Element应该会告诉您加载包含是否有任何问题,而不是调用视频的正确文件路径等。
这可能取决于浏览器,并且还建议(我检查的最后一个)包含HTML5视频的多种文件类型,以便跨浏览器兼容。
这几乎总是对我有用 -
<video preload="auto" autoplay="" controls>
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
<source src="video.ogv" type="video/ogv">
</video>
将这些行添加到.htaccess
文件中也会有所帮助 -
AddType video/mp4 .mp4 .m4v
AddType video/webm .webm
AddType video/ogv .ogv
VLC有一个很棒的开源播放器,可以转换为其他文件类型 - http://www.videolan.org/vlc/index.html