20.2.使用FlashVars
20.2.1 问题
我想从容器HTML 页面传递参数给Flex3 应用程序。
20.2.2 解决办法
使用FlashVars 直接在包含你的Flex3 SWF 的HTML 的<embed>标签内添加参数。
20.2.3 讨论
你可以在包含你的Flex 3 应用程序的HTML 内直接添加数据,并且使用FlashVars 变量在运行时轻易的读取这些数据。Flex 应用程序有两种办法可以获取这样的值。
你可以仿照下面例子里面的做法,来修改HTML 页面里用来嵌入你的Flex 应用程序的JavaScript 代码:
如果不用JavaScript 嵌入你的Flex 3 编译的SWF 文件,你也可以直接在HTML 里面修改<object> 和<embed>标签来实现:
在Flex 应用程序里,你可以随时使用Application.application.parameters 对象来访问FlashVars数据。下面这个ActionScript 代码例子说明如何将四个FlashVars 参数一一作为字符串访问,然后在TextArea 的文本域里显示它们。
我想从容器HTML 页面传递参数给Flex3 应用程序。
20.2.2 解决办法
使用FlashVars 直接在包含你的Flex3 SWF 的HTML 的<embed>标签内添加参数。
20.2.3 讨论
你可以在包含你的Flex 3 应用程序的HTML 内直接添加数据,并且使用FlashVars 变量在运行时轻易的读取这些数据。Flex 应用程序有两种办法可以获取这样的值。
你可以仿照下面例子里面的做法,来修改HTML 页面里用来嵌入你的Flex 应用程序的JavaScript 代码:
+展开
-ActionScript
AC_FL_RunContent(
"src", "${swf}",
"width", "${width}",
"height", "${height}",
"align", "middle",
"id", "${application}",
"quality", "high",
"bgcolor", "${bgcolor}",
"name", "${application}",
"allowScriptAccess","sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer",
"FlashVars", "param1=one¶m2=2¶m3=3¶m4=four"
);
"src", "${swf}",
"width", "${width}",
"height", "${height}",
"align", "middle",
"id", "${application}",
"quality", "high",
"bgcolor", "${bgcolor}",
"name", "${application}",
"allowScriptAccess","sameDomain",
"type", "application/x-shockwave-flash",
"pluginspage", "http://www.adobe.com/go/getflashplayer",
"FlashVars", "param1=one¶m2=2¶m3=3¶m4=four"
);
如果不用JavaScript 嵌入你的Flex 3 编译的SWF 文件,你也可以直接在HTML 里面修改<object> 和<embed>标签来实现:
+展开
-HTML
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="${application}" width="${width}" height="${height}"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="${swf}.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="${bgcolor}" />
<param name="allowScriptAccess" value="sameDomain" />
<param name="FlashVars" value="param1=one¶m2=2¶m3=3¶m4=four" />
<embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
width="${width}" height="${height}" name="${application}" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer"
FlashVars="param1=one¶m2=2¶m3=3¶m4=four"
</object>
id="${application}" width="${width}" height="${height}"
codebase="http://fpdownload.macromedia.com/get/flashplayer/current/swflash.cab">
<param name="movie" value="${swf}.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="${bgcolor}" />
<param name="allowScriptAccess" value="sameDomain" />
<param name="FlashVars" value="param1=one¶m2=2¶m3=3¶m4=four" />
<embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
width="${width}" height="${height}" name="${application}" align="middle"
play="true"
loop="false"
quality="high"
allowScriptAccess="sameDomain"
type="application/x-shockwave-flash"
pluginspage="http://www.adobe.com/go/getflashplayer"
FlashVars="param1=one¶m2=2¶m3=3¶m4=four"
</object>
在Flex 应用程序里,你可以随时使用Application.application.parameters 对象来访问FlashVars数据。下面这个ActionScript 代码例子说明如何将四个FlashVars 参数一一作为字符串访问,然后在TextArea 的文本域里显示它们。
+展开
-ActionScript
private function onCreationComplete() : void
{
var parameters : Object = Application.application.parameters;
var param1 : String = parameters.param1;
var param2 : int = parseInt( parameters.param2 );
var param3 : int = parseInt( parameters.param3 );
var param4 : String = parameters.param4;
output.text = "param1: " + param1 + "\n" +
"param2: " + param2 + "\n" +
"param3: " + param3 + "\n" +
"param4: " + param4;
}
{
var parameters : Object = Application.application.parameters;
var param1 : String = parameters.param1;
var param2 : int = parseInt( parameters.param2 );
var param3 : int = parseInt( parameters.param3 );
var param4 : String = parameters.param4;
output.text = "param1: " + param1 + "\n" +
"param2: " + param2 + "\n" +
"param3: " + param3 + "\n" +
"param4: " + param4;
}
加支付宝好友偷能量挖...