HTML5视频源不会在IE中成功更改
HTML5 video source will not successfully change in IE
我正为这个问题而发疯。我有一个脚本,它可以更改<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之外的所有浏览器上都能完美运行。我该怎么办?我已经尝试过直接修改<video>
标记的src
属性,但这似乎不起作用。我甚至尝试删除整个<video>
标签,并添加一个带有更新源的新标签。没有雪茄。
这可能偏离了主题,但我正在考虑是否必须添加一些.htaccess破解才能使其工作。如有任何建议,我们将不胜感激。
我最后的想法是,除了第一个来源之外,所有来源都有问题,不会播放。有什么方法可以检查它们与IE的兼容性吗?
EDIT:开发人员工具上的"网络"选项卡根据http请求为我提供206 partial
。这很可能是编码兼容性问题。如果事实证明是这样的话,我可能很快就会结束这个问题。
问题是创建source
节点,然后尝试更改src
属性。这在IE中不起作用。只使用src
属性。完整的解决方案可以在我的帖子中找到:https://stackoverflow.com/a/7905151/818732。。。试着在谷歌上搜索这些东西,并添加"stackoverflow"以获得最佳结果。
顺便问一下:你有没有试过直接将mp4文件作为属性(在html代码中)添加?如果是,但仍然不起作用,请检查服务器是否为.mp4文件(video/mp4
)返回了正确的mime类型。
最后但同样重要的是,请使用caniuse.com来检查浏览器支持。对于初学者来说,以下是mp4的链接:http://caniuse.com/mpeg4
- 为什么这在IE中的工作方式与在Firefox中不同
- 尽管链接成功并已成功下载,但未找到NPM模块
- 后焦点更改为IE 11中的地址栏,而不是转移到表单中的下一个控件
- 如何在读取XLS/XLSX本地文件时,使用IE的javascript代码启用未标记为安全的ActiveX控件
- jQuery blueimp文件上传:将N-1个文件上传到IE中的服务器
- 在另一个函数成功结束后调用该函数
- 在ajax成功后,cluetip不适用于首次点击活动元素
- 有没有一种方法可以在控制台关闭的情况下让console.log()在IE中记录消息
- 设置倒计时计时器,IE出现问题
- 仅在IE中,javascript中的时区名称不正确
- 在IE中加载Firebug Lite时出现问题
- jQuery成功函数中的ajax成功函数
- 为什么我得到错误IE修剪方法是't支持
- IE中的CSS翻转动画:翻转的一面显示镜像内容
- "navigator.msLaunchUri”;在IE Edge中,始终返回成功
- Ajax关于成功的另一个Ajax没有;我不在ie
- HTML5视频源不会在IE中成功更改
- Facebook OAuth登录成功,无法返回初始窗口,仅适用于IE
- 只有在同一台机器上从IE成功上传后,Fancy Upload才能在Firefox中工作
- jQuery ui's的调整大小功能无法与chrome中的flexbox模型正确交互,但在FF和IE中取得了成功