gpt4 book ai didi

javascript - 用于更改视频标签源的 setAttribute 和 video.src 在 IE9 中不起作用

转载 作者:可可西里 更新时间:2023-11-01 02:15:36 27 4
gpt4 key购买 nike

我确实阅读了每个关于在 IE9 中通过 javascript 动态更改视频标签源的 stackoverflow 线程,包括有用但未达成一致的帖子 herehere ,但感觉还有另一种解决方案。这是我正在尝试做的最基本的例子:

    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 检查后肯定会被更改,即使 IE 实际上并没有做任何事情来切换视频。

是的,有人声称使用 IE,您必须将 src 与 HTML 一起列出,以便在页面加载后更改它们,但我确实在 stackoverflow 上找到了一个线程,它通过简单的 JavaScript 提出了一个解决方案。 (令我失望的是,我再也找不到这样做的线程......相信我,我已经到处搜索了)。

综上所述,如果有人能提供一种解决方案,而不是将所有视频 src 放在 HTML 中,而是使用 JavaScript 动态设置/创建 src,如上所示,我将非常感激。

(或者,如果您能指出“缺失”溢出线程的方向,该线程测试属性是否存在于 IE 中,然后以某种方式通过 javascript 设置 src,那也将不胜感激。

最佳答案

好消息,我找到了一个真正的解决方案,可以通过 JavaScript 在 HTML5 视频标签中切换/更改视频,而无需使用我试图解释的烦人的 hack!它非常简单,只需在 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 中测试和工作......如果您遇到任何问题,请告诉我。

关于javascript - 用于更改视频标签源的 setAttribute 和 video.src 在 IE9 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12151606/

27 4 0