IE9没有加载HTML5 mp4视频

时间:2013-08-20 22:02:23

标签: html5 video internet-explorer-9 html5-video

我的视频几乎在除IE9之外的所有其他浏览器中都能正常运行。但是,可能只是IE9的配置引起了这个问题,因为在我的其他笔记本电脑上使用Windows 8 64位和IE10 64位,当我将浏览器模式切换到IE9时,它可以正常工作。这是问题所在:

我使用的是Windows 7 64位,IE9 64位和32位。我的网站在嵌套的JQuery选项卡中有视频。选项卡随机加载。如果选择包含视频的其中一个标签进行初始加载,则视频显示正常。如果没有,视频显示为空白,但是,我可以右键单击视频的位置,选择播放,然后视频将正常播放并显示控件。

以下是遇到此问题的网页的链接: http://northernicefastpitch.com/index.php?page=team&team=1

转到Scalzitti标签,然后选择视频以查找视频的显示位置。

这是我的视频代码:

<video width="310" height="200" controls="controls">
<source src="teams/players/Scalzitti_Angela_19960603/videos/video1.mp4" type="video/mp4">
<object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" codebase="http://www.apple.com/qtactivex/qtplugin.cab" width="310" height="200">
<param name="src" value="teams/players/Scalzitti_Angela_19960603/videos/video1.mp4">
<param name="type" value="video/mp4">
<param name="controller" value="true">
<param name="autoplay" value="false">
<embed src="teams/players/Scalzitti_Angela_19960603/videos/video1.mp4" type="video/mp4" pluginspage="http://www.apple.com/quicktime/download/" width="310" height="200" controller="true" autoplay="false">
</object>
</video>

我使用NGINX在linux Centos 6.3服务器上托管这个网站,所以.htaccess文件不会造成任何问题。我已经查看了“IE9 HTML5视频仅在缓存清除后可见”,这对我没有帮助。我可能已经尝试了大约30种不同的解决方案,但没有任何对我有用(这就是为什么我倾向于IE9在这台笔记本电脑上配置不当)。

如果你们中的任何人能够通过控件在IE9上正确地看到视频,请告诉我。如果它只是这台笔记本电脑有问题,我绝对可以。

提前致谢。

约翰

1 个答案:

答案 0 :(得分:0)

我找不到任何可行的解决方案来解决这个问题,但我确实想出了一个解决方法。我仅针对IE使用此解决方法,但在遇到Chrome的其他问题后,我决定在所有浏览器上使用此功能。

<div style="display:inline-block; margin-top:-14px; padding:5px;">
  <video id="video14" width="310" height="200" style="background:#000000 url('images/play.png') no-repeat;" preload="none" controls>
    <source src="videos/video1.mp4" type="video/mp4">
    <object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="310" height="200">
      <param name="src" value="videos/video1.mp4">
      <param name="type" value="video/mp4">
      <param name="controller" value="true">
      <param name="autoplay" value="false">
      <embed src="videos/video1.mp4" type="video/mp4" width="310" height="200" controller="true" autoplay="false"></embed>
    </object>
  </video>
  <script>
    document.getElementById('video14').onclick = function () {
      document.getElementById('video14').play();
      document.getElementById('video14').onclick = '';
      document.getElementById('video14').style.background = '';
    };
  </script>
</div>

上面,我给我的视频一个播放按钮的id和背景图像。然后我设置了一些javascript来点击时播放视频,并且在第一次点击后删除了onclick功能以及背景。由于Chrome的问题,我不得不设置preload =“none”。此外,您可以使用poster属性,而不是使用背景。如果使用poster属性,则不需要额外的javascript来删除背景。

编辑:我尝试使用海报属性,但它在IE9中不起作用,所以暂时坚持使用背景。也尝试使用video.js和海报,但这也没有在IE9中工作。在IE9中,当选择带有视频的选项卡作为默认选项卡(随机选择默认选项卡)时,即使预加载=“无”,预览海报仍然显示。我对这种随机事件感到满意。