【问题标题】:swfobject video (embedded YouTube) overrides z-index in Safari staying on top no matter whatswfobject 视频(嵌入式 YouTube)覆盖 Safari 中的 z-index 无论如何都保持领先
【发布时间】:2014-12-23 20:36:23
【问题描述】:

我已经在其他浏览器上通过添加wmode: opaque 并使用swfobject 来解决这个问题,以保持网络的现代性。

Safari 仍然将它呈现在一切之上。为什么?

<script type="text/javascript">
    var url = 'http://www.youtube.com/v/blablabla',
        atts = {
            id: "ytplayer"
        },
        params = {
            allowScriptAccess: "always",
            wmode: 'opaque',
            rel: 0,
            enablejsapi: 1
        };

    swfobject.embedSWF(url, atts.id, "640", "390", "9.0.0", null, null, params, atts);
</script>

<div class="youTube">
    <div id="ytplayer"></div>
</div>

注意我看过相关的YouTube Video Embedded via iframe Ignoring z-index?;但这个问题是 Firefox 特有的,我实际上已经尝试了该问题的公认答案,但没有运气。

【问题讨论】:

  • 它不是重复的,因为问题只是在 Firefox 中,你可以看到我已经使用了它的答案 (opaque mode)。
  • 只有一个“愚蠢”的问题——为什么不使用 HTML5? Flash 和 Safari 会导致很多问题 :)
  • 好吧,我不知道 HTML5 是否支持浏览器。使用swfobject,因为它在代码中具有明确的可配置性(以避免与 HTML 混淆),我不确定 HTML5 API 是否具有相同的可能性。如果在 IE7 中受支持并且具有 onloadbegin、onloadcomplete、播放器事件的回调函数,我将很乐意通过链接到文档来回答 ;-)
  • 普通 Safari 还是移动 Safari?哪个版本?

标签: javascript css safari z-index swfobject


【解决方案1】:

wmode 应该是 url 中的第一个选项,params 中的第一个选项也是如此。

虚拟问题:您是否尝试在您的 youtube 网址末尾添加 ?wmode=transparent,例如 YouTube Video Embedded via iframe Ignoring z-index?

关于这个问题的更多信息:http://helpx.adobe.com/x-productkb/multi/swf-file-ignores-stacking-order.html

【讨论】:

  • 为什么 wmode 必须是第一个?是的,试过透明模式,没有效果。
  • 因为碰巧没有考虑。如果您还尝试了虚拟建议,根据 adobe(上面的链接),您的 safari 版本将不允许简单的解决方案。
【解决方案2】:

我怀疑您的 Safari 版本存在错误,导致无法正确使用 wmode 参数。有一个非常古老的article 关于具有相同错误的旧 Safari 版本。

建议在 Safari 中使用替代内容而不是 Flash。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 1970-01-01
    • 2018-01-18
    • 2012-03-25
    • 2012-12-03
    • 2021-06-17
    • 2012-05-08
    相关资源
    最近更新 更多