我正在使用jmediaelement为视频提供jquery-ui样式控件。当内容在jquery ui对话框中时,适用于所有浏览器,包括jplayer后备,Firefox和IE9以及IE8。但由于某些原因,在使用IE8进行页面加载时,jplayer swf对象甚至没有注入页面...
这是页面中的标记:
<div class="media-player large" style="width:600px;height:490px;">
<video poster="http://pathfinder.remote-learner.net/theme/prepworks_formfactor/media/prepworks_logo_poster.png" preload="auto" controls="controls" width="600" height="450">
<source type="video/mp4" src="http://pathfinder.remote-learner.net/theme/prepworks_formfactor/media/InteractiveMath1e.mp4"></source>
<a href="http://pathfinder.remote-learner.net/theme/prepworks_formfactor/media/InteractiveMath1e.mp4">Vid for ipad safari</a>
</video>
</div>
我正在页面页脚中加载jQuery,jquery ui,jmediaelement的mm.full.min.js和jmeEmbedControls.js。 player.swf在同一个目录中可用。在随后的脚本中,我在页面中的任何视频元素上调用embedControls:
jQuery('div.media-player').jmeEmbedControls({
mediaControls: {dynamicTimeslider: false,timeSliderAdjust: -1},
embed:{
jwPlayer: {// Set the path for the player.swf file (depends on a var called jsThemeDir being printed into the <head> from /layouts/general.php
path: jsThemeDir + 'javascript/player.swf',
plugins: { jmefs: jsThemeDir + 'javascript/jmefs.swf' }
}
}
});
我甚至不知道在这里尝试什么。我尝试添加jme的debug js文件,但在IE8中没有任何用处。在FF中加载它只是在控制台中打印“一切正常”。当我从控制台调用jmeEmbedControls()时,它只会在原始控件下面添加另一组无样式控件。没有jwplayer。没有造型。
更奇怪的是,当我将在页面中不起作用的相同标记放入jquery ui对话框()时,初始化模态对话框,并对jmeEmbedControls进行相同的调用,对话框内的视频用jwplayer进行换肤,玩(css有点偏,但它打得很好)。
我错过了什么?我应该寻找什么?为什么原始页面中的代码加载不是用jwplayer绘制的,而在jQuery()。dialog()中呈现的代码则获得正确的jwplayer功能? (我知道本地安全沙箱问题,并已将localhost添加到我信任的站点。此外,http实时站点也存在相同问题。)
答案 0 :(得分:0)
我修好了[发牢骚]。只需要添加$(文档).ready()。对于swf后备而言,似乎比支持html5的浏览器更重要。