【问题标题】:Mediaelement.js javascript error in IEIE 中的 Mediaelement.js javascript 错误
【发布时间】:2011-06-18 15:49:38
【问题描述】:

我正在使用 MediaElement.js 作为我正在开发的网站的 HTML5 视频播放器。它在 Chrome、Safari 和 Firefox 中运行良好,即使使用后备播放器也是如此,但在 Internet Explorer 中,我得到了此处看到的 Javascript 错误:http://d.pr/Jsfo。它似乎没有加载我的海报或我的播放器风格(在其他浏览器中运行良好)。

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

您可以在http://mindsmack.ryangiglio.com查看开发网站的直播

【问题讨论】:

    标签: javascript internet-explorer mediaelement.js


    【解决方案1】:

    很遗憾,您不能在 IE 中动态插入 HTML5 标签,因为它会破坏它们的嵌套

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

    变成

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

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

    我的建议是将&lt;video&gt; 标记放在页面上的永久位置,然后准备一个 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();
    

    此外,您应该删除 &lt;object&gt;&lt;video&gt; 标记中嵌入 HTML,因为这仅适用于 IE 用户未启用 JavaScript 并且您的应用需要 JavaScript 的情况。

    【讨论】:

    • 我忘记了那个 HTML5 IE 错误。实际上有一小段 Javascript 可以解决这个问题:jdbartlett.github.com/innershiv。除了添加函数调用之外,无需更改任何代码即可修复它。
    • 很高兴听到这个消息。如果他们正在做类似的事情,我会确保向其他人指出这一点。
    猜你喜欢
    • 1970-01-01
    • 2011-11-18
    • 1970-01-01
    • 2014-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-09
    • 1970-01-01
    相关资源
    最近更新 更多