我要为这个问题发疯了。我有一个脚本可以更改<video>
标签的来源,然后重新加载并播放它。问题是我无法让它在任何版本的 Internet Explorer 上运行。
我有一个名为 的视频源数组sequence.sources
,其中包含:
sequence.sources = ['video.webm', 'video.mp4', 'video.ogv'];
该sequences
对象是从另一个数组加载的,所以这就是它的动态方面。我用来改变视频源的功能如下:
var videoElem = document.getElementById('video');
// Remove all sources
while (videoElem.firstChild) {
videoElem.removeChild(video.firstChild);
}
// Add new sources
for (var i = 0; i < sequence.sources.length; i++) {
var srcElem = document.createElement('source');
srcElem.setAttribute('src', sequence.sources[i]);
videoElem.appendChild(srcElem);
}
// Initiate video
videoElem.load();
videoElem.play();
这适用于除 IE 之外的所有浏览器。我是什么做的?我已经尝试过直接修改标签的src
属性<video>
,但这似乎不起作用。我什至尝试删除整个<video>
标签并添加一个带有更新源的新标签。没有雪茄。
这可能是题外话,但我正在考虑我必须添加一些 .htaccess hack 以使其工作的可能性。任何建议将不胜感激。
我最后的想法是,除了第一个来源之外的所有来源都存在某种错误并且不会播放。有什么方法可以检查它们与 IE 的兼容性吗?
编辑:开发人员工具上的网络选项卡给了我206 partial
http 请求的结果。这很可能是编码兼容性问题。如果事实证明是这样,我可能会很快结束这个问题。