YouTube 视频阻碍下拉菜单:wmode 来救援
开发人员经常遇到将 YouTube 视频集成到其网页中的挑战。在一个特殊的例子中,用户报告了一种令人沮丧的行为,即下拉菜单无法正确覆盖 YouTube iframe,而是出现在其下方。此问题已在 Chrome 和 IE9 等浏览器中出现,而 Firefox 不受影响。
对此异常感到困惑,人们可能会想知道为什么 z-index 属性显式设置为 -999 !重要的是无法解决该问题问题。 YouTube 嵌入代码中的内部 CSS 是否有可能覆盖用户定义的设置?
这个神秘问题的解决方案在于将 wmode 参数添加到 YouTube iframe 代码中。通过将 &wmode=opaque 或 &wmode=transparent 添加到 src URL,可以恢复下拉菜单的行为。尽管此修复的全面技术解释仍然难以捉摸,但它有效地解决了 z-index 冲突。
以下是修改后的 iframe 代码的示例:
<iframe title="YouTube video player" width="480" height="390" src="http://www.youtube.com/embed/lzQgAR_J1PI?wmode=transparent" frameborder="0" wmode="Opaque"></iframe>
或者,您可以使用以下 jQuery 代码自动将 wmode 参数添加到页面上的所有 iframe:
//Fix z-index youtube video embedding $(document).ready(function (){ $('iframe').each(function(){ var url = $(this).attr("src"); $(this).attr("src",url+"?wmode=transparent"); }); });
通过实现这个简单的解决方案,开发人员可以确保其下拉菜单不受干扰地覆盖在 YouTube iframe 上,从而确保无缝的用户体验。
以上是为什么我的下拉菜单出现在 YouTube Iframe 下方?的详细内容。更多信息请关注PHP中文网其他相关文章!