mkr*_*a11 11 javascript internet-explorer setattribute html5-video
我确实读过每个stackoverflow线程关于在IE9中通过javascript动态更改视频标记源,包括有用但未商定的帖子在这里和这里,但确实感觉有另一个解决方案.这是我正在尝试做的非常基本的例子:
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");
Run Code Online (Sandbox Code Playgroud)
这两行代码都被Internet Explorer彻底憎恨,特别是因为在使用简单的video.getAttribute进行检查后,src肯定会被更改,即使IE实际上没有做任何事情来切换视频.
是的,有人声称,使用IE,你必须在HTML中列出src,以便在页面加载后更改它们,但我确实在stackoverflow上找到了一个通过简单的JavaScript提出解决方案的线程.(令我失望的是,我再也找不到这样做的话......我到处搜寻,相信我).
尽管如此,如果有人能提供解决方案而不使用将所有视频src放在HTML中,而是使用JavaScript动态设置/创建src,如上所示,我将非常感激.
(或者,如果你可以指向我'缺少'溢出线程的方向,测试该属性是否存在于IE中,然后以某种方式通过javascript设置src,这也将被赞赏).
mkr*_*a11 28
好消息,我找到了一个真正的解决方案,通过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>
Run Code Online (Sandbox Code Playgroud)
你有它.令人难以置信的简单 - 在IE8和IE9中测试和工作......如果您有任何问题,请告诉我.
| 归档时间: |
|
| 查看次数: |
40839 次 |
| 最近记录: |