接这上一篇继续...javascript
2 借助第三方的对象文件html
swfobject.js 来向swf 传参java
超连接的方式传参express
<a href="VideoPlay.html?address=http://www.lxzq.com.cn/video/ty20100915_1.flv">Test</a>框架
接收参数的页面ide
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">函数
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> flex
<head>ui
<title></title>url
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
var flashvars = {};
//获取URL参数对值,并赋给flashvars变量
if (swfobject.getQueryParamValue("address")) //获取超连接的url?后面的参数
{
flashvars.address= swfobject.getQueryParamValue("address"); //给swf文件传入参数
}
var params = {}; //必定是要这个params
params.allowFullScreen ="true"; //容许全屏否 根据本身的须要来设置参数
var attributes = {};
attributes.id = "swf"; //将嵌入的SWF文件写入对应id的div中去,并向SWF文件传入相应的参数
swfobject.embedSWF("VideoPlay.swf", "swf", "1000", "500", "10.0.0", "expressInstall.swf", flashvars, params, attributes);
</script>
</head>
// swfobject.embedSWF里面的swf对应的是<div>的id 是将swf文件放在哪里
<body>
<div id="swf">
</div>
</body></html>
3 flex端与就javascript的通讯
须要使用到ExternalInterface 这个对象
Flex端的代码
private function callJavaScript():void {
show.text = ExternalInterface.call("sayHelloWorld");
}
// sayHelloWorld 这个就是javascript的里面的方法名
固然ExternalInterface.call这个方法还能够传参
ExternalInterface.call("js的函数名",”参数”)
那么在html页面这一块的代码
很简单
Function sayHelloWorld()
{
作本身须要的处理
若是flex端要接受返回值的话
那么js里面就必定要
return “xxxxx”;
}
貌似这个有个弊端
那就是 这种flex与javascript的互调只能在拥有flex框架载体的状况下才能用
也就是flex工程里面才能够用
为何这么说 那是由于 我以前就是经过这种方式 让swf文件去调用js的函数
脱离了flex的工程 行不通
网上 基本上都是说的在flex工程的bin-degug文件下系统自动生成的html里面写js
我试过 只要是flex项目里面 flex 和javascript的相互调用是没问题的