我从字面上阅读了有关通过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,测试,那还可以理解的方向)。
好消息,我找到了一个真正的解决方案,以切换通过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