首页 > 工具 > Flash > 正文

20.2.使用FlashVars

2023-06-19 21:53:41
字体:
来源:转载
供稿:网友
20.2.1 问题
我想从容器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"
);

如果不用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&param2=2&param3=3&param4=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&param2=2&param3=3&param4=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;
}
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表