mediaelement.js在IE8中调用AJAX后不工作


mediaelement.js not working when called after AJAX in IE8

我在IE8中发现了一个非常令人抓狂的bug。目前,以下代码在IE8之外的任何地方都可以运行。

如果我在chrome中运行这个,启用了"成功"警报。如果我在IE中运行"error",

遗憾的是,在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中的"示例输出"显示海报图像堆叠在一大块空白的顶部。如果你右键点击空白区域,它会显示"关于flash"等等。所以看起来flash播放器实际上并没有初始化。

编辑我已经找到了一种方法来播放视频-(哇!)但是海报/宣传片仍然堆叠在一起。在IE8中播放视频的关键是改变开始的video标签。将src='$videomp4'添加到开始标记

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

EDIT2

事实证明,从<object</object>的所有内容实际上解决了IE8中的布局问题。视频似乎可以在Chrome, F, FF3.6 &IE8

我还没有测试任何其他东西,我担心我在某处丢失了一些东西…但是对于我所测试的一切,这似乎是有效的

事实证明,从<object></object>删除所有内容实际上解决了IE8中的布局问题。视频似乎可以在Chrome, FF3.6 &;IE8

我还没有测试任何其他东西,我担心我在某处丢失了一些东西…但是对于我所测试的一切,这似乎是有效的