FB.init ドキュメント: https://developers.facebook.com/docs/reference/javascript/FB.init/#flashには、アプリケーションが wmode= で動作しない場合に、白い背景を表示するよりも優れた方法を実行するためのいくつかのオプションが示されています。 「不透明」。
facebook.com の Adobe Flash アプリケーション
Adobe Flash を使用する Canvas アプリケーションの場合、可能な限り wmode="opaque" が推奨されます。ハードウェア合成を備えた最新のブラウザーでは、通常、wmode="opaque" を使用してもパフォーマンスが低下しないことがわかりました。そうしないと、Facebook はデフォルトで、ポップアップ イベントが発生したときに Flash オブジェクトを非表示にし、ポップアップが閉じられたときにそれらを再表示します。
wmode="window" を使用する必要があり、この動作を制御したい場合 (これが発生したときにテキストや画像を表示するなど)、FB.init の hideFlashCallback パラメータに関数を指定できます。hideFlashCallback は、ウィンドウが開いているか閉じているかを示す、渡されたパラメーターの一部として状態フィールドを受け取ります。これは、提供する場合にオーバーライドするデフォルトの実装ですが、オーバーライドがどのように見えるかについてのアイデアも得られる場合があります。
function(params) {
var candidates = window.document.getElementsByTagName('object');
for (var i = 0; i < candidates.length; i++) {
var elem = candidates[i];
if (elem.type != "application/x-shockwave-flash") {
continue;
}
var good = false;
for (var j = 0; j < elem.childNodes.length; j++) {
if (elem.childNodes[j].nodeName == "PARAM" && elem.childNodes[j].name == "wmode") {
if (elem.childNodes[j].value != "window" && elem.childNodes[j].value != "default") {
good = true;
}
}
}
if (!good) {
if (params.state == 'opened') {
elem.style.old_visibility = elem.style.visibility;
elem.style.visibility = 'hidden';
} else if (params.state == 'closed') {
elem.style.visibility = elem.style.old_visibility;
elem.style.old_visibility = '';
}
}
}
}
注: stream.publish や stream.share などの一部の UI メソッドは、アプリを登録したり、このメソッドを呼び出したりしなくても使用できます。アプリ ID を使用している場合は、このメソッドの後にすべてのメソッドを呼び出す必要があります。