javascript - IE 中 Mediaelement.js javascript 错误

标签 javascript internet-explorer mediaelement.js

我正在使用 MediaElement.js 作为正在开发的网站的 HTML5 视频播放器。即使使用后备播放器,它在 Chrome、Safari 和 Firefox 中也能正常工作,但在 Internet Explorer 中,我收到此处显示的 Javascript 错误:http://d.pr/Jsfo 。它似乎没有加载我的海报或我的播放器样式(在其他浏览器中工作正常)。

播放器的代码是动态加载的,因为它出现在灯箱中,并且页面上可以播放多个视频。注入(inject) HTML 的 Javascript 位于页面底部

您可以在http://mindsmack.ryangiglio.com查看实时开发站点

最佳答案

不幸的是,您无法在 IE 中动态插入 HTML5 标记,因为这会破坏它们的嵌套

<video>
   <source src="file.mp4">
   <source src="file.webm">
</video>

变成

<video />
<source src="file.mp4">
<source src="file.webm">

然后 MediaElement.js 无法确定源文件在哪里。

我的建议是输入 <video>标记在页面上的永久位置,然后准备一个 MediaElement 对象

var player = new MediaElementPlayer('#video');

然后当您准备好播放视频时,只需调用它即可

// single MP4
player.setSrc('newfile.mp4');

// OR multiple
player.setSrc([{src:'newfile.mp4',type:'video/mp3'},{src:'newfile.webm',type:'video/webm'}]);

// load and play
player.load();
player.play();

此外,您应该删除 <object>将 HTML 嵌入 <video>标记,因为这只适用于 IE 用户未启用 JavaScript 而您的应用需要 JavaScript 的情况。

关于javascript - IE 中 Mediaelement.js javascript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4852504/

相关文章:

javascript - 在折线图、Highcharts 上添加散点

asp.net-mvc - 当数据从 IE 而不是 Firefox 发布时,为什么 ASP.NET MVC 会提示空参数?

wordpress - 播放器下方的 mediaelement 音频播放器音量 slider

css - 使用 mediaelements 定位小型设备

javascript - 通过在 Jade/Pug 中循环数组来创建折叠 ID

javascript - AngularJS 指令不会检测使用 "this"绑定(bind)变量的 Controller 作用域

javascript - 查找并替换引号内的文本,忽略 html 标签

IE 中的 javascript 错误无法查看或解决问题

css - Internet Explorer 11 不允许在@keyframe 内进行计算

mediaelement.js - 如何禁用 MediaElementPlayer 缓冲区