youtube iframe上的jQuery模式对话框

时间:2012-02-25 07:58:23

标签: jquery iframe youtube

我知道在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;

如何在视频顶部显示对话框?

3 个答案:

答案 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