jQuery oembed插件z-index问题

时间:2010-04-06 23:03:30

标签: flash z-index oembed

我正在使用jQuery oembed插件来显示来自Vimeo Feed的视频。

唯一的问题是它们显示在导航菜单的顶部。我尝试过设置菜单的z-index,但没有区别。

一个常见的建议似乎是将wmode参数设置为透明或不透明。但是,将此作为参数传递给oembed函数没有任何区别。

由于

3 个答案:

答案 0 :(得分:1)

您可以使用自己的回调函数来处理返回的代码,因此可以在插入之前对其进行修改。

这有点丑陋有效,但我希望有人可以改进:

$(".oembed").oembed(null, null, function(container, oembed) {
        if (oembed == null)
            return; 
        if (oembed.type == "video" && oembed.code != null) {
            if (oembed.code.indexOf("wmode") < 0) {
                oembed.code = oembed.code.replace("<embed ", "<param name=\"wmode\" value=\"transparent\"></param>\n<embed ");
                oembed.code = oembed.code.replace("<embed ", "<embed wmode=\"transparent\"");                                        
            }
        }
        $.fn.oembed.insertCode(container, "replace", oembed);
    });

此致

理查德。

答案 1 :(得分:0)

我有同样的问题,这是我的解决方案:

    var fixZindex = function(){

        $(".oembed").css('z-index','1').css('position','relative');
        $("object").css('z-index','1').css('position','relative');
        $("embed").css('z-index','1').css('position','relative');

        var elements = document.getElementsByTagName('embed');
        for(var i=0; i< elements.length; i++){

                elements[i].setAttribute("wmode","transparent");

                var para = document.createElement("param");
                para.setAttribute("name","wmode");
                para.setAttribute("value","transparent");

                elements[i].parentNode.appendChild(para)

        }

    }

    $(document).ready(function() {
        $(".oembed").oembed(null,
            {
            embedMethod: "append",
            maxWidth: 500
            });

        setTimeout('fixZindex()',1000);

    });

我为js / jquery的混合道歉。我不是一个jquery专家,所以如果有人可以直接jquery重新编码那个解决方案,那就是rad。

答案 2 :(得分:0)

非常感谢您的代码共享。

我在'var code = -----;'之前添加了以下内容 到jquery.oembed.js中的getVideo ...函数体,它的工作原理。只是相应地修改了变量。

if(oembed.code.indexOf(“wmode”)&lt; 0){                 oembed.code = oembed.code.replace(“\ n             }

简单易行。

谢谢, 阿尤布