2

我希望根据 Flash 电影中显示的内容量来调整叠加层的大小。另外,我希望它在用户调整内容时实时调整大小。

可能吗?

4

2 回答 2

3

当然,Flash 可以使用 ExternalInterface 调用 Javascript 中的方法。语法很简单,比如在 Javasacript 中你有:

function methodInJS(name) {
   alert("Hello to " + name);
   return 17;
}

然后在 Actionscript 中,您会调用:

var myName:String = "David";
var result:Number = ExternalInterface.call("methodInJS", myName);
trace("Result from JS call is: "+result);
于 2010-05-17T16:13:57.780 回答
1

是的,使用 ExternalInterface

在你的 HTML 中设置你的影子框,如下所示:

<link rel="stylesheet" type="text/css" href="shadowbox.css">
<script type="text/javascript" src="shadowbox.js"></script>

<script type="text/javascript">
Shadowbox.init({
    skipSetup: true
});

function openShadowbox(content, type){
    Shadowbox.open({
        content:    content,
        player:     type,
        title:      "Welcome",
        height:     350,
        width:      350
    });
};
</script>

然后在您的 ActionScript 中:

if(ExternalInterface.avilable){
 try{
  ExternalInterface.call("openShadowbox", "<h1>Welcome to my website!</h1>", "html");
 }catch(error:Error){
  trace(error);
 }
}
于 2010-05-17T16:52:04.197 回答