`
darrenzhu
  • 浏览: 779353 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Flex4如何给swf传参数

阅读更多
基本上有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>
分享到:
评论

相关推荐

    CGI 传递参数给SWF (flex)

    通过CGI获得浏览器地址栏中传送的参数,同时在CGi中将参数传送给flex SWF,同时SWF实现接收参数,进行相应的操作

    Flex 4 接收外部参数(1)

    NULL 博文链接:https://flash2swf.iteye.com/blog/963791

    FLEX从入门到精通.pdf

     第4章 运用ActionScript3.0  4.1 Flash平台框架  4.2 显示编程  4.3 事件模型  4.3.1 事件类和类型  4.3.2 事件进程  4.3.3 事件流  4.3.4 Event Dispatcher类  4.4 Flash Player API  4.4.1...

    javascript向flash swf文件传递参数值注意细节

    问题:如何使用javascript向SWF文件传递参数? 在网上找了一个完整的教程,很有启发性和实用性,如下是完整实现的步骤: 配置SwfObject: Swfobject2是目前检测用户是否安装Flash的最佳方法。它被认为是‘行业标准’...

    flex3的cookbook书籍完整版dpf(包含目录)

    flex3的cookbook书籍完整版dpf(包含目录),目录是我花了两个多小时自己整理的,希望对大家有帮助。 目录: 第一章.Flex与ActionScript基础(3) 1.1节.用FlexBuilder创建Flex项目 1.2节.用FlexBuilder创建Flex库项目 ...

    裁剪和缩放图片 手动控制宽高 c#

    处理后的三张图片在temp文件夹中 分别为2_b.jpg 2_m.jpg 2_s.jpg c#方面,结合flash插件,discuz的camera.swf插件 由于此插件值传递了FileName参数,没有文件参数,因此搁置(不会flex)

    FlashSec:存储库旨在编译可在渗透测试期间使用的脚本和工具,以评估不同闪存相关场景的安全性

    C:\Flex\bin\Crossdomain.swf (535802 bytes) 该脚本需要一个指向易受攻击站点的url参数,即: : url = : BrowserCookies.as 和 Index.as:用 Action Script 编写的脚本,用于使用 Flash读取托管文件的网站的 ...

    ActionScript开发技术大全

    29.3.4设置SQL语句参数 636 29.3.5查询数据 636 29.3.6用户注册与登录示例 637 29.4小结 642 第10篇实战篇 第30章AdobeAIR应用——本地播放器 644 30.1分析与设计 644 30.1.1功能分析 644 30.1.2界面设计 645 30.1.3...

    ActionScript开发人员指南中文版

    本地化Flex内容 本地化Flash内容 本地化AIR应用程序 对日期、时间和货币进行本地化 第章:关于HTML环境 HTML环境概述 AIR和WebKit 第章:在AIR中进行HTML和JavaScript编程 关于HTMLLoader类 避免与安全相关的...

    Maven权威指南 很精典的学习教程,比ANT更好用

    4. Maven Writing Conventions 5. Acknowledgements 1. 介绍 Apache Maven 1.1. Maven... 它是什么? 1.2. 约定优于配置(Convention Over Configuration) 1.3. 一个一般的接口 1.4. 基于Maven插件的全局性...

    asp.net知识库

    C# 2.0会给我们带来什么 泛型技巧系列:如何提供类型参数之间的转换 C#2.0 - Object Pool 简单实现 Attributes in C# 手痒痒,也来个c# 2.0 object pool 泛型技巧系列:用泛型打造可复用的抽象工厂 体验.net2.0的优雅...

Global site tag (gtag.js) - Google Analytics