Found a great blog post with an ActionScript 2 class that parses the current URL and creates accessible properties out of query string arguments: https://blog.circlecube.com/2008/03/20/get-current-url-and-query-string-parameters-to-flash-tutorial/
I needed something to parse any URL, so I made a few adjustments and converted the class to be able to access query string arguments with AS3. Here’s the updated code:
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.");
}
}
}
}
Here’s an example of how to use the updated version:
var myPath:QueryString = new QueryString("https://summus.io/?page=articles");
trace(myPath.parameters.page);
It’s as simple as passing a URL with a query string and then just use the parameters object to access the specific query argument, in this case we’re accessing the page argument, which will give us a value of “articles”.