我可以让Flash电影与Shadowbox jquery叠加层进行通信吗?

时间:2010-05-17 14:13:46

标签: javascript jquery flash actionscript-3 shadowbox

我希望我的叠加层可以调整大小,具体取决于Flash影片中显示的内容量。此外,我希望在用户调整内容时实时调整大小。

有可能吗?

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分: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);
 }
}