Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook支付对话框隐藏flash内容E11_Facebook_Flash_Internet Explorer - Fatal编程技术网

Facebook支付对话框隐藏flash内容E11

Facebook支付对话框隐藏flash内容E11,facebook,flash,internet-explorer,Facebook,Flash,Internet Explorer,我在IE11中发现了facebook支付对话框的奇怪行为,该对话框适用于使用Context3D的Flash对象的应用程序 例如,当您的FB应用程序作为HTML画布中的flash对象(使用{wmode:“direct”})工作时,FB SDK会隐藏您的flash对象。基本上,“direct”wmode允许应用程序将其图形直接流式传输到“monitor”中(简而言之)。因此,在显示任何其他内容之前,应该隐藏此块。这就是为什么FB对话框(通知、邀请、付款对话框等)应该隐藏flash的原因 但是,如果您

我在IE11中发现了facebook支付对话框的奇怪行为,该对话框适用于使用Context3D的Flash对象的应用程序

例如,当您的FB应用程序作为HTML画布中的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的兼容模式不是一个“清晰”的解决方案)正在为IE添加兼容的元标记:

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

UPD

很多测试都向我表明,IE11部分解决了这个问题。也许这取决于Flash插件的版本。我正在尝试查找所有依赖项

UPD

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