背景故事:
我花了一整天的时间试图弄清楚为什么我的HTML5视频和音频标签在 IE11 和 IE10 中工作时我将它们上传到特定的LMS(在所有其他浏览器中都能很好地工作)。
我向后剥离它,现在这就是HTML文件中的所有内容。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
</head>
<body>
<video controls>
<source src="video.mp4" height="450px" width="800px"/>
</video>
</body>
</html>
如你所见,非常简单,在IE11和IE10本地工作,文件肯定在LMS上,因为我可以链接到它们。只有当它们在HTML5视频标签中时才会出现任何内容 - 字面上是白色屏幕。
问题:
当内容由LMS加载时,有一系列嵌套框架,如下所示。 (请注意,我删除了所有内联属性{有堆}}。
<html>
<head></head>
<frame>
<frame>
<frame>
// This is where my HTML lives.
在头顶标签中,我无法改变,这个坏男孩就是:<meta http-equiv="X-UA-Compatible" content="IE=8">
。现在我可能不正确,但我认为这是问题的根源,因为ie8文件标准会否定任何HTML5标签......?
问题: < br />有没有办法用<meta http-equiv="X-UA-Compatible" content="IE=edge">
覆盖这个元标记?
或者随后,我可以重新配置文档标准/模式,而不刷新页面(刷新自动关闭窗口{LMS / SCORM功能}),在我的框架内或以上使用javascript等..?或者我是否需要尝试让LMS Tech窥视改变他们的源代码?
更新:当我添加<meta http-equiv="X-UA-Compatible" content="IE=8">
时,请注意以下内容:DOM从原始更改为:
<video controls></video>
<source src="video.mp4" height="450px" width="800px"/>
</video><//video>
答案 0 :(得分:1)
这里真正的答案是你真的应该联系LMS技术人员。他们确实需要更新他们的代码,因为它已经过时了。
我使用<meta http-equiv="X-UA-Compatible" content="IE=8">
进行了一些测试,我遇到了视频加载问题。 (我在IE 11中进行测试。)话虽如此,我也相信<frame>
标签也存在问题。
X-UA-Compatible
需要更新为IE=edge
,<frame>
应该被删除。
不幸的是,无论如何我都不知道覆盖X-UA-Compatible
标签。我相信,(尽管不是100%肯定)IE会在父文档中看到X-UA-Compatible
标记并使用它。
如果您无法让LMS技术人员及时更新其代码,您可以尝试一些选项。我不知道这些是否会解决你的问题,但值得一试。
将视频上传到YouTube或类似的视频托管服务,然后使用iFrame嵌入到视频中。
如果由于某些原因无法使用视频托管服务,请尝试在您控制的服务器上托管视频,然后再使用iFrame嵌入视频。
尝试使用网站中的mediaelement.js作为解决兼容性问题的解决方法。
同样,真正的解决方案是让LMS更新他们的代码,否则,你必须找到一些有效的解决方法。
答案 1 :(得分:0)
您的实际问题是您使用的是obsolete and removed from HTML <frame>
元素。
浏览器已停止支持此标记。您应该尝试将其转换为<iframe>
。
根据我的测试,<meta http-equiv="X-UA-Compatible" content="IE=8">
不会阻止您的浏览器加载视频元素。