2010(Flex 初次使用 小节:No.2)

接这上一篇继续...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文件写入对应iddiv中去,并向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”;

}

貌似这个有个弊端

那就是 这种flexjavascript的互调只能在拥有flex框架载体的状况下才能用

也就是flex工程里面才能够用

为何这么说 那是由于 我以前就是经过这种方式 swf文件去调用js的函数

脱离了flex的工程 行不通

网上 基本上都是说的在flex工程的bin-degug文件下系统自动生成的html里面写js

我试过 只要是flex项目里面  flex javascript的相互调用是没问题的

相关文章
相关标签/搜索