jQuery oembed プラグインを使用して、Vimeo フィードからビデオを表示しています。
唯一の問題は、ナビゲーション メニューの上に表示されることです。メニューの z-index を設定しようとしましたが、違いはありません。
一般的な提案は、wmode パラメーターを透明または不透明に設定することです。ただし、これをパラメーターとして oembed 関数に渡しても違いはありません。
ありがとう
独自のコールバック関数を使用して返されたコードを処理できるため、挿入する前に変更することができます。
これは機能する少し醜いものですが、誰かが改善できることを願っています:
$(".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);
});
よろしく、
リチャード。
私は同じ問題を抱えていましたが、これが私の解決策です:
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で再コーディングできれば、それは素晴らしいことです。
こんにちは、コードを共有していただきありがとうございます。
「var code = ----- ;」の直前に次を追加しました。jquery.oembed.js の getVideo... 関数本体に追加すると、機能します。それに応じて変数を変更しただけです。
if (oembed.code.indexOf("wmode") < 0) { oembed.code = oembed.code.replace("\n }
その簡単でシンプルです。
ありがとう、アユブ