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