ActionScript 3 如何使用AS3访问查询字符串参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ActionScript 3 如何使用AS3访问查询字符串参数相关的知识,希望对你有一定的参考价值。

package
{
	import flash.external.*;
 
	public class QueryString
	{
		private var _queryString:String;
		private var _all:String;
		private var _params:Object;
 
		public function QueryString(url:String='')
		{
			readQueryString(url);
		}
		public function get getQueryString():String
		{
			return _queryString;
		}
		public function get url():String
		{
			return _all;
		}
		public function get parameters():Object
		{
			return _params;
		}		
 
		private function readQueryString(url:String=''):void
		{
			_params = new Object();
			try
			{
				_all = (url.length > 0) ? url : ExternalInterface.call("window.location.href.toString");
				_queryString = (url.length > 0) ? url.split("?")[1] : ExternalInterface.call("window.location.search.substring", 1);
				if(_queryString)
				{
					var allParams:Array = _queryString.split('&');
					//var length:uint = params.length;
 
					for(var i:int=0, index=-1; i < allParams.length; i++)
					{
						var keyValuePair:String = allParams[i];
						if((index = keyValuePair.indexOf("=")) > 0)
						{
							var paramKey:String = keyValuePair.substring(0,index);
							var paramValue:String = keyValuePair.substring(index+1);
							_params[paramKey] = paramValue;
						}
					}
				}
			}
			catch(e:Error)
			{
				trace("Some error occured. ExternalInterface doesn't work in Standalone player.");
			}
		}
	}
}

//
// Call it like so:
//
var myPath:QueryString = new QueryString("http://www.studiosedition.com/?page=articles");
trace(myPath.parameters.page);

以上是关于ActionScript 3 如何使用AS3访问查询字符串参数的主要内容,如果未能解决你的问题,请参考以下文章

ActionScript 3 使用TLFTextField时AS3 Bug访问FlashVars(解决方法)

ActionScript 3 AS3:使用SWX访问Twitter用户的公共时间线

ActionScript 3 AS3加载并访问JSON数据示例

ActionScript 3 AS3在运行时加载和访问外部SWF中的字体

如何解决 ActionScript 3 (AS3) 中的关闭问题

ActionScript 3 AS3 getURL / navigateToURL(如何在AS3中创建可点击链接)