我在IE9中播放html5视频时遇到问题。
以下是我在HTML中包含视频的方法
<video id="video-1"></video>
我在JS中的变量上指定了视频元素,以便在其他函数上轻松使用它。
video1 = document.getElementById("video-1");
这就是我在JS中分配视频的方式。
video1.innerHTML = '<source id="video-1-mp4-src" type="video/mp4" src="' + 'pill.mp4' + '">' + '<source id="video-1-ogg-src" type="video/ogg" src="'+ 'pill.ogg' + '">' + '<source id="video-1-webm-src" type="video/webm" src="' + 'pill.webm' + '">';
还尝试了这种在JS中分配视频的方法....
video1.innerText = '<source id="video-1-mp4-src" type="video/mp4" src="' + 'pill.mp4' + '">' + '<source id="video-1-ogg-src" type="video/ogg" src="'+ 'pill.ogg' + '">' + '<source id="video-1-webm-src" type="video/webm" src="' + 'pill.webm' + '">';
问题是IE9中的视频无法加载....我可能会遗漏某些内容吗?或IE9还不支持Video标签?
TIA! :)
答案 0 :(得分:1)
我认为这可能与您必须在.htaccess文件中声明视频MIME类型的issue相关
答案 1 :(得分:1)
经过大量研究后,我找到了解决方案。
页面的DOCTYPE
必须为:
<!DOCTYPE html>
(HTML5 doctype)以便IE9播放HTML5视频。即使使用XHTML doctype,Firefox,Chrome等也会识别视频标签,但IE不会。
答案 2 :(得分:0)
确认您的浏览器模式和文档模式。按F12并确认浏览器模式和文档模式选项卡都设置为IE9选项。
答案 3 :(得分:0)
在我看来,IE9无法处理&lt; source&gt;的innerHTML。在里面&lt;视频&gt;。
然而,如果按照分类方式进行,它会起作用:
var video1 = document.getElementById("video-1");
var source = document.createElement('source'); // create source node
source.src = 'pill.mp4';
source.type = "video/mp4";
video1.appendChild(source); // append source node to video node
对于IE10及更高版本,您可以使用“innerHTML”。