我遇到了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" );
}
}
}
答案 0 :(得分:0)
如果闪光灯装在灯箱中,IE似乎拒绝所有闪存。
我找到的唯一可能的解决方法是将视频+ flashvars放在一个单独的文件中,并在加载此文件的iframe模式下使用Lightbox。
为我排序。