当前位置:首页 > 开发 > Web前端 > 前端 > 正文

Flex4如何给swf传参数

发表于: 2012-10-03   作者:darrenzhu   来源:转载   浏览次数:
摘要: 基本上有3种方式: 1)通过URL查询字符串方式给swf传参数 URL如下: http://localhost:8080/html2Swf/bin-debug/html2Swf.swf ?myName=aa&myHometown=aa 2)通过URL查询字符串方式给swf的wrapper html页面传参数 URL如下: http://localhost:8080
基本上有3种方式:
1)通过URL查询字符串方式给swf传参数

URL如下:
http://localhost:8080/html2Swf/bin-debug/html2Swf.swf ?myName=aa&myHometown=aa

2)通过URL查询字符串方式给swf的wrapper html页面传参数

URL如下:
http://localhost:8080/html2Swf/bin-debug/html2Swf.html #firstName=Nick&lastName=Danfffger

注意,第1中方式中用 ?, 第2中方式用 #, 另外第2种方式里name/value对的分割符可以自定义,代码中解析时作出相应更改即可,详细资料可以参考Flex3帮助文档:
http://livedocs.adobe.com/flex/3/html/help.html?content=passingarguments_3.html
http://livedocs.adobe.com/flex/3/html/help.html?content=deep_linking_5.html#245869

3)在对应的Wrapper html页面中静态配置,有两个地方可以配置:
位置1 var flashvars = {};

案例 var flashvars = {"myName":"Danger","myHometown":"Los%20Angeles_Flashvars"};

位置2
          swfobject.embedSWF(
                "${swf}.swf", "flashContent", 
                "${width}", "${height}", 
                swfVersionStr, xiSwfUrlStr, 
                flashvars, params, attributes);

案例:
          swfobject.embedSWF(
                "${swf}.swf?myName=aa&myHometown=bb", "flashContent", 
                "${width}", "${height}", 
                swfVersionStr, xiSwfUrlStr, 
                flashvars, params, attributes);




综合案例

按方式1和3传参数,只有上面的TitleWindow里面有值,其中方式3事实上就是不传参数,按方式2传参数,只有下面的TitleWindow里面有参数值.
<?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" 
			   creationComplete="initVars();init(event)" minWidth="955" minHeight="600">
	<s:layout>
		<s:VerticalLayout/>
	</s:layout>
	<fx:Declarations>
		<!-- Place non-visual elements (e.g., services, value objects) here -->
	</fx:Declarations>
	<fx:Script>
		<![CDATA[
		import mx.core.FlexGlobals;
		import mx.core.mx_internal;
		use namespace mx_internal;
		// 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 = FlexGlobals.topLevelApplication.parameters.myName;
			myHometown = FlexGlobals.topLevelApplication.parameters.myHometown;
		}
		
		import mx.managers.BrowserManager;
		import mx.managers.IBrowserManager;
		import mx.utils.URLUtil;
		
		private var bm:IBrowserManager;
		[Bindable]
		private var fName:String;
		[Bindable]
		private var lName:String;         
		
		private function init(e:Event):void {
			bm = BrowserManager.getInstance();
			bm.init("", "Welcome!");
			
			/* The following code will parse a URL that passes firstName and lastName as
			query string parameters after the "#" sign; for example:
			http://www.mydomain.com/MyApp.html#firstName=Nick&lastName=Danger */
			var o:Object = URLUtil.stringToObject(bm.fragment, "&");
			fName = o.firstName;
			lName = o.lastName;
		}

	]]>
	</fx:Script>
	
	<mx:TitleWindow title="Passing variables to swf directly">
		<mx:HBox>
			<mx:Label text="Name: "/>
			<mx:Label text="{myName}" fontWeight="bold"/>
		</mx:HBox>
		<mx:HBox>
			<mx:Label text="Hometown: "/>
			<mx:Label text="{myHometown}" fontWeight="bold"/>
		</mx:HBox>
	</mx:TitleWindow>
	
	<mx:TitleWindow title="Passing variables to swf through wrapper html">
		<mx:Form>
			<mx:FormItem label="First name:">
				<mx:Label id="ti1" text="{fName}"/>
			</mx:FormItem>
			<mx:FormItem label="Last name:">
				<mx:Label id="ti2" text="{lName}"/>
			</mx:FormItem>
		</mx:Form>
	</mx:TitleWindow>
</s:Application>

Flex4如何给swf传参数

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
以前学习C#的时候,是完全在工作岗位上学习,一些底层较为深入的道理都不是很清楚。如今学习了Java
最近,有需求需要传参数到jsp页面,但是不知道该如何传参数到jsp页面!!! 废话少说,贴代码。。。
之前写了两篇Blog 1·Flex Skin使用方法 2·Flex与Flash组合开发最佳实践__Combain Flex&Flash 本篇Bl
首先要准备一个16进制字节码编辑器,这里用的是UltraEdit,可以到这里下载它最新的破解版。 现在我
新人自学SpringMVC,记录下学习心得,愿与众位分享。如有什么疏漏之处还望前辈们指教(求轻拍) 昨
今天学习了quartz的第4例子,实现StatefulJob或者QuartzJobBean的job均是无状态的,每次触发器调用j
在mxml标签里面添加事件时的传参的例子。 <?xml version="1.0"?> <mx:Application xmlns:m
JQuery上传插件Uploadify并传参数(一) jQuery Servlet JavaScript Apache CSS Uploadify是JQuery
需求 }Hive -f }hiveF 封装hive –f aa.sql }支持传任意多个参数,实现shell脚本和sql文件的分离 }J
flex4中要想实现TitleWindow 中带图标,其实很简单,跟flex4中的修改panel的方法一样,而且如果有时
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号