Flex - 获取网页传递过来的参数(URL参数、FlashVars参数)
作者:hangge | 2016-12-24 08:00
网页如果想传递参数给 Flex 或 Flash,通常有两种方法:将参数放在 URL 地址后面,或者在页面上的 flashvar 标签中进行配置。下面分别介绍这两种方式。
1,获取浏览器URL地址中的参数
比如生成的 swf 文件所在页面的 url 地址如下,我们需要取出其中的参数部分(即 name=v1&token=124)。

(1)下面方法获取所有的参数(返回值是一个对象)
public function getQueryParams():Object {
var params:Object = {}
var query:String = ExternalInterface.call("window.location.search.substring",1);
if(query) {
var paris:Array = query.split("&");
for(var i:uint=0; i<paris.length; i++) {
var pos:int = paris[i].indexOf("=");
if(pos!=-1) {
var argname:String = paris[i].substring(0,pos);
var value:String = paris[i].substring(pos+1);
params[argname] = value;
}
}
}
return params;
}
(2)下面方法根据参数名获取对应的参数值
public function getQueryParam(name:String):String {
var query:String = ExternalInterface.call("window.location.search.substring",1);
if(query) {
var paris:Array = query.split("&");
for(var i:uint=0; i<paris.length; i++) {
var pos:int = paris[i].indexOf("=");
if(pos!=-1) {
var argname:String = paris[i].substring(0,pos);
var value:String = paris[i].substring(pos+1);
if(argname == name){
return value;
}
}
}
}
return "";
}
2,读取FlashVars中的参数
swf 如果是使用 js 方式嵌入的话,FlashVars 参数配置方式如下:
swf 如果是通过 embed 方式加载的话,FlashVars 参数配置方式如下:

不管使用哪种方式,Flex 代码中获取 FlashVars 参数的方法都是一样的。比如下面代码获取前面配置的两个 FlashVars 参数。
var name:String = Application.application.parameters.name var token:String = Application.application.parameters.token
全部评论(0)