js传值给flex
- 提问者网友:刺鸟
- 2021-05-15 02:11
但是html报错了 该怎么做呢 不要复制网上的东东 讲清楚继续加分
- 五星知识达人网友:过活
- 2021-05-15 02:21
你知道Externalinterface这个Actionscript与JavaScript交互的接口就好办了,
提供以下两种方法:
1、Actionscript调用Javascript
在flex所在html页面写个javascript函数,如
<script language="javascript">
function getParam(){
return "Opendogs";//你的参数
}
</script>
然后在flex中调用var param:String = Externalinterface.call("getParam");
即可获取到参数
2、Javascript调用Actionscript
在flex中写个函数,如下:
function receiveParam(p:String){
//p就是你要的参数
}
然后在程序初始化方法中,调用:
Externalinterface.addcallBack("receiveParam",receiveParam)
//第一个参数是暴露给JavaScript调用的方法名称
//第二个参数是as回调方法名称
最后在JavaScript函数中用:
object.receiveParam("Opendogs")//param为你的参数
//object是flex以object标签嵌套在页面上id属性的值
3、通过Application获取参数
在flex以object标签嵌套在页面中有这样的参数:
<param name="movie" value="TT.swf" />
改成:
<param name="movie" value="TT.swf?param=Opendogs" />
这样在AS中就可以用
var p:String = Application.application.parameters.param;获得参数,
不过这种只能在Application中用,不能在组件及模块中用
前两种方法哪里都适用。
详细代码如下:
Flex:
Html: