返回 导航

Flex

hangge.com

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)

回到顶部