使用IE时,lightbox中的Swf遇到ExternalInterface问题

时间:2011-03-11 16:56:20

标签: javascript internet-explorer flash lightbox

我遇到了Internet Explorer和各种灯箱程序(PrettyPhoto,TopUp和Bumpbox)的问题。基本上我想从已加载到灯箱的swf中使用Flash的ExternalInterface类进行调用。它适用于Firefox,但不适用于IE(8)。

以下是我的working example using PrettyPhoto,这是我的working example using TopUp

当页面顶部嵌入完全相同的swf时,ExternalInterface调用工作正常(您可以在该页面上单击它)。但是当通过点击图像在灯箱中打开swf时,它将无法在IE中使用。

感谢您的帮助!

P.S。很抱歉缺少文档的超链接,它只允许我2作为新用户。

以下是嵌入代码,灯箱代码对于所使用的不同灯箱是唯一的:

    var flashvars = {};

    var params = {};
    params.allowScriptAccess ="always";
    params.allowFullScreen = "true";
    params.wmode = "transparent";
    params.scale = "noscale";
    params.menu = "false";

    var attributes = {};
    attributes.id = "API";
    attributes.name = "API";

    swfobject.embedSWF("api.swf", "API", 100, 100, "9.0.0", false, flashvars, params, attributes);

我的Actionscript代码非常简单:

package  {

import flash.display.MovieClip;
import flash.external.ExternalInterface;
import flash.events.*;

public class jsTest extends MovieClip {


    public function jsTest() {
        button.addEventListener(MouseEvent.CLICK, buttonClicked);
    }

    private function buttonClicked(evt:MouseEvent):void
    {
        trace("click");
        ExternalInterface.call( "doLMSInitialize" );
    }
}

}

1 个答案:

答案 0 :(得分:0)

如果闪光灯装在灯箱中,IE似乎拒绝所有闪存。

我找到的唯一可能的解决方法是将视频+ flashvars放在一个单独的文件中,并在加载此文件的iframe模式下使用Lightbox。

为我排序。