我发现IE11中的facebook支付对话框的奇怪行为适用于具有适用于Context3D的Flash对象的应用。
例如,当您的FB应用程序在HTML画布中用作flash对象(带{ wmode: "direct" }
)时,FB SDK会隐藏您的Flash对象。基本上,"直接" wmode允许应用程序将其图形直接流式传输到"监控" (如果简单说)。因此,在显示任何其他内容之前,应隐藏此块。这就是为什么FB对话框(通知,邀请,付款对话等)应该隐藏闪存。
但是,如果您想在 IE11 中查看付款,您的Flash对象将被隐藏,并且永远不会显示回来。
嵌入了swfobject v2.2的Flash对象:
swfobject.embedSWF(
cfg.preloader_path,
cfg.flashID,
755,
650,
'11.0.0',
'expressInstall.swf',
{ key: "val" },
{ "wmode" : "direct", "quality" : "high", "bgcolor" : "#ffffff" },
{ id: cfg.flashObjectId, name: cfg.flashObjectId, align: "middle" },
function (swf) {
if (swf.success) {
console.log('Embedded successfully');
// some staff here
} else {
console.log('Embedding failed');
}
});
使用FB API v2.X
的应用程序答案 0 :(得分:0)
我已找到解决此问题的方法(但我认为IE的兼容模式不是"清除"修复)正在为IE添加兼容的元标记:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
<强> UPD 强>
很多测试告诉我,IE11的问题部分解决了。也许这取决于Flash插件版本。我试图找到所有依赖项。
<强> UPD 强>
我发现IE中的Flash插件版本正确处理了这种情况,而不是奇数版本(15,17,19)将其分解。