我知道在youtube视频前面显示jQuery对话框时发布的修复,但我正在使用他们新的IFrame嵌入方法:
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
如何在视频顶部显示对话框?
答案 0 :(得分:5)
如果您使用新的iframe代码,只需将“wmode = transparent”添加到url字符串作为查询字符串段。
<iframe width="403" height="235" src="http://www.youtube.com/embed/(video_code)?wmode=transparent" frameborder="0" allowfullscreen></iframe>
答案 1 :(得分:1)
我将'wmode'添加到脚本的'playerVars',请参阅下面的示例代码...
<script type="text/javascript">
var tag = document.createElement('script');
tag.src = "http://www.youtube.com/player_api";
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
var player;
function onYouTubePlayerAPIReady() {
player = new YT.Player('player', {
height: '390',
width: '640',
videoId: 'FM-Vt87W3_A',
playerVars: {
'autoplay': '0',
'wmode': 'transparent',
'showinfo': '0'},
events: {
'onStateChange': onPlayerStateChange}
});
}
function onPlayerStateChange(event) {
if (event.data == YT.PlayerState.ENDED) {
window.location="index.php";
}
}
答案 2 :(得分:0)
我知道这篇文章很老了。但是,问题现在仍然存在于IE 11中。我发现解决这个荒谬问题的最干净,最可靠的方法是在jQuery UI对话框中调用包含youtube播放器的div上的.hide()#39 ; s:open:function(),然后.show()在对话框关闭中再次播放div:function()。快乐的日子:D