2010(Flex 初次使用 小节:No.2)
接这上一篇继续... 2 借助第三方的对象文件 swfobject.js 来向swf 传参 超链接的方式传参 <a href="VideoPlay.html?address=http://www.lxzq.com.cn/video/ty20100915_1.flv">Test</a> ?接收参数的页面 <!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"> <head> ? ? ? ??<title></title> ?????? <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的相互调用是没问题的 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |