如何使用 Youtube 的 HTML5 iframe API 设置 wmode=opaque?

Posted

技术标签:

【中文标题】如何使用 Youtube 的 HTML5 iframe API 设置 wmode=opaque?【英文标题】:How do you set wmode=opaque using Youtube's HTML5 iframe API? 【发布时间】:2011-10-13 04:09:36 【问题描述】:

我正在通过使用 javascript API 在网站中嵌入 Youtube 的实验性 html5 iframe 功能:

YouTube Player API Reference for <ifram> Embeds

我知道由此带来的 z-index 问题,以及涉及将 wmode=opaque(或 wmode=transparent)添加到 iframe url 的修复:

Fixed. My Youtube iframe z-index is ignored and is above a fixed div

当只使用javascript API时,如何将wmode设置为opaque:

function onYouTubePlayerAPIReady() 
    var player;
    player = new YT.Player('player', 
        width: 1280,
        height: 720,
        videoId: 'u1zgFlCw8Aw',
        // if I try adding wmode: opaque here, it breaks
        playerVars: 
            controls: 0,
            showinfo: 0 ,
            modestbranding: 1
            // if I try adding wmode: opaque as a playerVar here, it breaks
        ,
        events: 
            'onReady': onPlayerReady,
            'onPlaybackQualityChange': onPlayerPlaybackQualityChange
        
    );
 

有什么想法吗?

【问题讨论】:

【参考方案1】:

据我所知,默认为opaque。我测试了将wmode 更改为transparentopaque 并将其删除。如果未指定,它会自动设置为opaque

我不确定是不是一直都是这样,但现在肯定是这样。

还请记住,这仅适用于使用 Flash 播放器时。您可以禁用 HTML 5 播放器来测试它,这是使用 'Disable Youtube™ HTML5 Player' plugin 的默认设置。然后只需检查元素并向下钻取,直到找到 EMBED 标记。

【讨论】:

【参考方案2】:

嗯嗯……

好吧,看来我发布这个问题很仓促。在 API 中设置 wmode 的正确形式似乎是:

function onYouTubePlayerAPIReady() 
    var player;
    player = new YT.Player('player', 
        width: 1280,
        height: 720,
        videoId: 'u1zgFlCw8Aw',
        playerVars: 
            controls: 0,
            showinfo: 0 ,
            modestbranding: 1,
            wmode: "opaque"
        ,
        events: 
            'onReady': onPlayerReady,
            'onPlaybackQualityChange': onPlayerPlaybackQualityChange
        
    );
 

希望这对其他人有所帮助。

【讨论】:

以上是关于如何使用 Youtube 的 HTML5 iframe API 设置 wmode=opaque?的主要内容,如果未能解决你的问题,请参考以下文章

Youtube 的 HTML5 视频播放器如何控制缓冲?

如何在Android上使用HTML5应用启用全屏YouTube视频?

如何将 Youtube 视频嵌入 HTML5 <video> 标签?

如何像 youtube 那样在 HTML5 的视频标签中欺骗 src 属性

YouTube 直播嵌入代码不断变化

html5 (youtube) 视频标签说明