7

所以我有一个 URL,我需要我的 Flash 电影从中提取变量:

示例链接:
http ://www.example.com/example_xml.php?aID=1234&bID=5678

我需要得到 aID 和投标号码。

我可以通过 ExternalInterface 将完整的 URL 转换为字符串

var url:String = ExternalInterface.call("window.location.href.toString");
if (url) testField.text = url;

只是不确定如何操作字符串以获取 1234 和 5678 数字。

感谢任何提示、链接或帮助!

4

2 回答 2

12

创建 的新实例URLVariables

// given search: aID=1234&bID=5678
var search:String = ExternalInterface.call("window.location.search");
var vars:URLVariables = new URLVariables(search);
trace(vars.aID); // 1234
trace(vars.bID); // 5678
于 2010-04-27T21:45:02.247 回答
1
var valuePairs:Array = url.substring(url.indexOf("?")+1).split("&");
var map:Object = new Object();
for (var i:int=0; i < valuePairs.length; i++) {
    var nextValuePair:Array = valuePairs[i].split("=");
    map[nextValuePair[0]] = nextValuePair[1];
}


trace(map["aID"]); // 1234

未经测试的代码!这只是简单的字符串操作。

和...几乎 1-liner(也未经测试)

var map:Object = new Object();
var temp:Array;
for each (var i:String in /.*\?(.*)/.exec(url)[1].split("&")) map[(temp=i.split("="))[0]]=temp[1];

但当然最好使用 urlVariables :)

于 2010-04-27T21:43:50.953 回答