【问题标题】:mediaelement.js not working when called after AJAX in IE8在 IE8 中的 AJAX 之后调用 mediaelement.js 时不起作用
【发布时间】:2011-12-15 22:04:58
【问题描述】:

我在 IE8 中遇到了一个非常疯狂的错误。目前,以下代码适用于除 IE8 之外的任何地方。

如果我在 chrome 中运行它,启用警报的“成功”会触发。 如果我在 IE 中运行它会出现“错误”。

遗憾的是,在 IE 中我似乎无法找到任何类型的详细错误消息。

有没有人知道这个?我要疯了,想弄清楚。

<?php
function the_ajax(){
$video_embed =  "<video id='myvideo' width='$videowidth' height='$videoheight' poster='$large' controls='controls' preload='none'>
    <source type='video/mp4' src='$videomp4' />
    <source type='video/webm' src='$videowebm' />
    <source type='video/ogg' src='$videoogg' />
    <object width='$videowidth' height='$videoheight' type='application/x-shockwave-flash' data='$siteroot/js/mediaelement/flashmediaelement.swf'>
    <param name='movie' value='$siteroot/js/mediaelement/flashmediaelement.swf' />
    <param name='flashvars' value='controls=true&file=$videomp4' />
    <img src='$large' width='$videowidth' height='$videoheight' title='No video playback capabilities' />
    </object>
</video>";
echo $video_embed;
}
?>

和javascript:

<script type="text/javascript">
$.ajax({
    url: 'wp-admin/admin-ajax.php?action=get_my_video&name='+thevideo, 
    cache: false,
    type: 'GET',
    success: function(response, textStatus, jqXHR){
    contentArea.html(response);
    $("#myvideo").mediaelementplayer({
        enablePluginDebug: true,
        plugins:["flash","silverlight"],
        type: '',
        pluginPath: "/js/mediaelement/",
        flashName:  "flashmediaelement.swf",
        silverlightName: 'silverlightmediaelement.xap',
        success:function(mediaElement, domObject) { 
                //alert('success');
        },
        error: function () { 
            GLOBAL_ERR = this;
            //alert('unknown error');
        }
    });
});
</script>

顺便说一句,IE8 中的“示例输出”显示了堆叠在一大块空白区域顶部的 POSTER IMAGE。如果您右键单击空白区域,它会显示“关于 Flash”等...所以似乎 Flash 播放器实际上并未初始化。

编辑 我找到了一种播放视频的方法 - (哇!)但海报/flas仍然堆积如山。 在 IE8 中播放视频的关键是更改开始的 VIDEO 标签。将src='$videomp4' 添加到开始标签。

 <video id='myvideo' width='$videowidth' height='$videoheight' poster='$large' controls='controls' preload='none' src='$videomp4'>

EDIT2

事实证明,删除从 &lt;object&lt;/object&gt; 的所有内容实际上修复了 IE8 中的布局问题。视频似乎可以在 Chrome、F、FF3.6 和 IE8 中播放

我没有测试过其他任何东西,我担心我在某个地方丢失了一些东西......但是对于我测试过的所有东西,这似乎都有效。

【问题讨论】:

  • 感谢您发布更新,目前很难通过 mediaelement.js 寻求帮助。
  • 请把你的答案变成下面的真实答案。您可以在两天后将其标记为已接受。这将使问题从未回答的问题标签中消失。
  • 请不要将问题标题用于元数据。这是为系统本身保留的 - 谢谢!
  • 你能解释一下你的意思吗?我不明白你在问什么,或者你更喜欢什么替代方案。

标签: php ajax internet-explorer internet-explorer-8 mediaelement.js


【解决方案1】:

事实证明,删除从 &lt;object&gt;&lt;/object&gt; 的所有内容实际上修复了 IE8 中的布局问题。视频似乎可以在 Chrome、FF3.6 和 IE8 中播放

我没有测试过其他任何东西,我担心我在某个地方丢失了一些东西......但是对于我测试过的所有东西,这似乎都有效。

【讨论】:

  • 不要忘记使用适当的降价,否则我们看不到您的代码。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多