Facebook 支付对话框隐藏 flash 内容 E11
Facebook payment dialog hides flash content E11
我发现 Facebook 支付对话框在 IE11 中对于带有 Flash 对象的应用程序有奇怪的行为,该对象与 Context3D 一起工作。
例如,当您的 FB 应用在 HTML canvas 中作为 flash 对象(使用 { wmode: "direct" }
)工作时,FB SDK 会隐藏您的 flash 对象。基本上,"direct" wmode 允许应用程序将其图形直接流式传输到 "monitor"(如果简而言之)。因此,在显示任何其他内容之前,应该隐藏此块。这就是为什么 FB 对话框(通知、邀请、付款对话框等)应该隐藏 flash。
但是,如果您想在 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
我找到了解决此问题的方法(但我认为 IE 的兼容模式不是 "clear" 修复)正在为 IE 添加兼容的元标记:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
UPD
大量测试表明,IE11 部分解决了该问题。也许这取决于 Flash 插件版本。我正在尝试查找所有依赖项。
UPD
我发现 IE 中的偶数版本的 Flash 插件可以正确处理这种情况,而不是奇数版本 (15,17,19) 将其分解。
我发现 Facebook 支付对话框在 IE11 中对于带有 Flash 对象的应用程序有奇怪的行为,该对象与 Context3D 一起工作。
例如,当您的 FB 应用在 HTML canvas 中作为 flash 对象(使用 { wmode: "direct" }
)工作时,FB SDK 会隐藏您的 flash 对象。基本上,"direct" wmode 允许应用程序将其图形直接流式传输到 "monitor"(如果简而言之)。因此,在显示任何其他内容之前,应该隐藏此块。这就是为什么 FB 对话框(通知、邀请、付款对话框等)应该隐藏 flash。
但是,如果您想在 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
我找到了解决此问题的方法(但我认为 IE 的兼容模式不是 "clear" 修复)正在为 IE 添加兼容的元标记:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />
UPD
大量测试表明,IE11 部分解决了该问题。也许这取决于 Flash 插件版本。我正在尝试查找所有依赖项。
UPD
我发现 IE 中的偶数版本的 Flash 插件可以正确处理这种情况,而不是奇数版本 (15,17,19) 将其分解。