1

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

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

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

谢谢

4

3 回答 3

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);
    });

问候,

理查德。

于 2010-05-11T11:34:07.043 回答
0

您好,感谢代码共享。

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

if (oembed.code.indexOf("wmode") < 0) { oembed.code = oembed.code.replace("\n }

它简单易行。

谢谢,阿尤布

于 2011-02-07T13:22:13.083 回答
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。

于 2010-05-29T23:48:04.793 回答