Flex4 中将网页的参数传递给Flash,并且在Flash中读取这些参数

使用Flash Builder 4创建Flex应用,会自动生成网页调用Flash,会有两种方式显示Flash,下面针对这两个方式看看如何添加参数。

方式一(swfobject):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
         <script type= "text/javascript" >
             <!-- For version detection, set  to min. required Flash Player version, or 0  (or 0.0 . 0 ), for  no version detection. -->
             var  swfVersionStr = "10.0.0" ;
             <!-- To use  express install, set  to playerProductInstall.swf, otherwise the empty string. -->
             var  xiSwfUrlStr = "playerProductInstall.swf" ;
             <span style= "color: #000000;" > var  flash var s = { var 1: "abc" , var 2: "def" };
</span>            var  params = {};
             params.quality = "high" ;
             params.bgcolor = "#ffffff" ;
             params.allowscriptaccess = "sameDomain" ;
             params.allowfullscreen = "true" ;
             var  attributes = {};
             attributes.id = "test39" ;
             attributes.name = "test39" ;
             attributes.align = "middle" ;
             swfobject.embedSWF(
                 "test39.swf" , "flashContent" ,
                 "100%" , "100%" ,
                 swfVersionStr, xiSwfUrlStr,
                 flash var s, params, attributes);
             <!-- JavaScript enabled so display the flashContent div in  case  it is  not replaced with  a swf object. -->
             swfobject.createCSS( "#flashContent" , "display:block;text-align:left;" );
         </script>

方式二(html):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
             <object classid= "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"  width= "100%"  height= "100%"  id= "test39" >
                 <param name= "movie"  value= "demo1.swf"  />
                 <param name= "quality"  value= "high"  />
                 <param name= "bgcolor"  value= "#ffffff"  />
                 <param name= "allowScriptAccess"  value= "sameDomain"  />
                 <param name= "allowFullScreen"  value= "true"  />
                 <span style= "color: #000000;" ><param name= "flashvars"  value= "var1=aabb&var2=ccdd"  />
</span>                <!--[ if  !IE]>-->
                 <object type= "application/x-shockwave-flash"  data= "demo1.swf"  width= "100%"  height= "100%" >
                     <param name= "quality"  value= "high"  />
                     <param name= "bgcolor"  value= "#ffffff"  />
                     <param name= "allowScriptAccess"  value= "sameDomain"  />
                     <param name= "allowFullScreen"  value= "true"  />
                     <param name= "flashvars"  value= "var1=aabb&var2=ccdd"  />
                 <!--<![endif]-->
                 <!--[ if  gte IE 6 ]>-->
                     <p>
                         Either scripts and active content are not permitted to run or Adobe Flash Player version
                         10.0 . 0  or greater is  not installed.
                     </p>
                 <!--<![endif]-->
                     <a href= "http://www.adobe.com/go/getflashplayer" >
                         <img src= "http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif"  alt= "Get Adobe Flash Player"  />
                     </a>
                 <!--[ if  !IE]>-->
                 </object>
                 <!--<![endif]-->
             </object>

 

在Flash中接收网页传递过来的参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?xml version= "1.0"  encoding= "utf-8" ?>
<s:Application xmlns:fx= "http://ns.adobe.com/mxml/2009"
                xmlns:s= "library://ns.adobe.com/flex/spark"
                xmlns:mx= "library://ns.adobe.com/flex/mx"  minWidth= "955"  minHeight= "600"  creationComplete= "application1_creationCompleteHandler(event)"  pageTitle= "abc" >
     <s:layout>
         <s:BasicLayout/>
     </s:layout>
     <fx:Script>
         <![CDATA[
             import  mx.core.FlexGlobals;
             import  mx.events.FlexEvent;
 
             protected  function  application1_creationCompleteHandler(event:FlexEvent): void
             {
                 <span style= "color: #000000;" > var  para: Object  = FlexGlobals.topLevelApplication.parameters;
</span>             text1.text = para. var 1;
                 text2.text = para. var 2;
             }
 
         ]]>
     </fx:Script>
     <fx:Declarations>
         <!-- 将非可视元素(例如服务、值对象)放在此处 -->
     </fx:Declarations>
     <s:TextInput id= "text1"  x= "190"  y= "93" />
     <s:TextInput id= "text2"  x= "190"  y= "142" />
     <s:Label x= "147"  y= "94"  text= "var1:" />
     <s:Label x= "147"  y= "142"  text= "var2:" />
</s:Application>

参数在Flex4的获取方式跟Flex3是不一样的:

Flex3:  var params:Object = Application.application.parameters; 

Flex4:  var params:Object = FlexGlobals.topLevelApplication.parameters; 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值