的setAttribute和video.src改变视频标签源不是IE9工作(setAttribute

2019-06-17 22:02发布

我从字面上阅读了有关通过JavaScript在IE9动态改变视频标签源,包括但不仅在帖子同意每计算器线程这里和这里 ,但也觉得有另一种解决方案。 这里是我想要做的很简单的例子:

    var video = document.getElementById('video');
    //now, use either of the lines of code below to change source dynamically

    video.src = "nameOfVideo";
    //or use...
    video.setAttribute("src", "nameOfVideo");

这两个代码行由Internet Explorer彻底讨厌,特别是因为在src最肯定正在用一个简单的video.getAttribute被检查后changeed,即使IE实际上没有做任何事情来切换视频。

是的,有说法称与IE浏览器,你必须有SRC的,以便在页面加载后更改他们的HTML上市,但我有绝对发现计算器一个线程,通过提出简单的JavaScript的解决方案。 (我很失望,我不能再找到这样做的线程....和我到处找,相信我)。

说了这么多,如果有人能提供在不使用把所有的视频SRC公司的HTML中的解决方案,而是,动态设置/创建SRC的使用JavaScript如上图所示,我将非常感谢。

(或者,如果你能指出我“失踪”溢出线程,如果在IE浏览器中存在的属性,然后莫名其妙定置通过JavaScript的SRC,测试,那还可以理解的方向)。

Answer 1:

好消息,我找到了一个真正的解决方案,以切换通过JavaScript HTML5视频标签/改变视频,而无需使用烦人的黑客我试图解释! 这是令人难以置信的简单,它只是把IE与尝试了很多。 下面是最简单的形式在IE工作的代码:

<html>
  <body>
    <video id='videoPlayer' width="320" height="240" controls="controls">
       <source id='mp4Source' src="movie.mp4" type="video/mp4" />
       <source id='oggSource' src="movie.ogg" type="video/ogg" />
    </video>

<!-- You MUST give your sources tags individual ID's for the solution to work. -->

    <script>
      var player = document.getElementById('videoPlayer');

      var mp4Vid = document.getElementById('mp4Source');

      player.pause();

      // Now simply set the 'src' property of the mp4Vid variable!!!!

      mp4Vid.src = "/pathTo/newVideo.mp4";

      player.load();
      player.play();
    </script>
  </body>
</html>

有你有它。 令人难以置信的简单 - 测试和IE8的工作,和IE9 ...如果您有任何问题,请让我知道。



文章来源: setAttribute and video.src for changing video tag source not working in IE9