Facebook付款对话框隐藏了Flash内容E11

时间:2015-10-15 16:26:15

标签: facebook flash internet-explorer

我发现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

的应用程序

1 个答案:

答案 0 :(得分:0)

我已找到解决此问题的方法(但我认为IE的兼容模式不是"清除"修复)正在为IE添加兼容的元标记:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10" />

<强> UPD

很多测试告诉我,IE11的问题部分解决了。也许这取决于Flash插件版本。我试图找到所有依赖项。

<强> UPD

我发现IE中的Flash插件版本正确处理了这种情况,而不是奇数版本(15,17,19)将其分解。