我正在使用jQuery oembed插件来显示来自Vimeo Feed的视频。
唯一的问题是它们显示在导航菜单的顶部。我尝试过设置菜单的z-index,但没有区别。
一个常见的建议似乎是将wmode参数设置为透明或不透明。但是,将此作为参数传递给oembed函数没有任何区别。
由于
答案 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 }
简单易行。
谢谢, 阿尤布