向flash中传入参数
如果是通过Url调用swf文件,可通过 *.swf?name=aaa 传入。在swf中通过application.parameters获得参数。
如果swf是以嵌入方式被调用,需要在包装网页(调用swf的网页)中编写代码,如下:
在action或jsp中对parameters进行解析,并拼接字符串
在网页 的<object>中加入 <param name=”flashVars” value=”字符串参数” />
在swf中 application.parameters获得参数
使用navigateToURL
主要作用是导航的一个页面,无论页面是什么类型,所以可以实现
导航到一个页面、
下载文档、
调用目的页面的js语句:(需要一个html页面,该页面body onload时运行需要的js代码)
ExternalInterface API
flash.external.ExternalInterface中有两个方法 call()和addCallback()和三个属性 available marshallException 和objectID。
该类主要作用于 flex程序和其包装页面(调用该swf的页面)
Call(functionName,String …argus) 该函数用于调用包装页面的js函数,functionName为js的函数名,argus为函数参数,如:
Flex中 var a:Object=ExternalInterface.call(“sum”,1,3); Alert.show(a.toString());
Js中 function sum(a,b)
addCallback(functionName:String,closure:Function) 该函数用于将flex中函数暴漏给包装页面,其中functionName为别名, closure为flex中的函数对象,如
Flex中 ExternalInterface.addCallback(“show”,showFun);
Private Function showFun(message:String)
Js中 var flash=document.getElementById(‘flashId’);
flash.show(“测试msg”);
可通过available属性判断浏览器是否支持ExternalInterface API, 如果有异常,可查看marshallException