flex接收flashvars的方法和flash不一样,在as3中是用“root.loaderInfo.parameters”或“stage.loaderInfo.parameters”来取得传递的参数,而在flex中则要用“Application.application.parameters”来取得。看下面的代码,我们将利用“Application.application.parameters”的方法来取得flashvars传递过来的两个参数:myName和myHometown。
<?xml version="1.0"encoding="utf-8"?>
<mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"creationComplete="initVars()">
<mx:Script><![CDATA[
// Declare bindable properties in Application scope.
[Bindable]
public var myName:String;
[Bindable]
public var myHometown:String;
// Assign values to new properties.
private function initVars():void {
myName = Application.application.parameters.myName;
myHometown = Application.application.parameters.myHometown;
}
]]></mx:Script>
<mx:VBox>
<mx:HBox>
<mxabel text="Name: "/>
<mxabel text="{myName}"fontWeight="bold"/>
</mx:HBox>
<mx:HBox>
<mxabel text="Hometown: "/>
<mxabel text="{myHometown}"fontWeight="bold"/>
</mx:HBox>
</mx:VBox>
</mx:Application>
下面是网页代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=gb2312" />
<title>julabsflex接收flashvar参数值</title>
</head>
<body>
<div>
<objectclassid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,79,0"
width="600"
height="400"
id="FlashMovie"
align="middle">
<param name="allowScriptAccess" value="sameDomain"/>
<param name="FlashVars"value="myName=julabs&myHometown=china"/>
<param name="movie" value="demo20.swf"/>
<param name="quality" value="high"/>
<param name="bgcolor" value="#ffffff"/>
<embed src="demo20.swf"FlashVars="myName=julabs&myHometown=china"quality="high" bgcolor="#ffffff" width="600" height="400"NAME="FlashMovie" align="middle" allowScriptAccess="never" allowNetworking="internal" autostart="0" type="application/x-shockwave-flash" swLiveConnect="true"pluginspage="http://www.macromedia.com/go/getflashplayer"/>
</object>
</div>
</body>
</html>
其中需要注意的是如果你想在火狐和Opera中也能正常使用这项功能的话一定要在网页中的flash代码中使用“embed”标签,并且一定要在“embed”标签加入“FlashV
flex接收flashvars参数值
最新推荐文章于 2014-03-06 17:34:50 发布