如何在 Flash AS3 中从 URL 获取/获取变量

Posted

技术标签:

【中文标题】如何在 Flash AS3 中从 URL 获取/获取变量【英文标题】:How to get/obtain Variables from URL in Flash AS3 【发布时间】:2011-02-13 02:11:26 【问题描述】:

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

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

我需要获取 aID 和 bID 号码。

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

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

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

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

【问题讨论】:

【参考方案1】:

创建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

【讨论】:

谢谢 :) 我在哪里可以找到有关所有可能的“window.location.syntax 以及它们的作用”的信息 @Leon,我个人喜欢 Firefox/Gecko 参考,但还有其他参考可用。 developer.mozilla.org/en/DOM/window#Properties【参考方案2】:
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 :)

【讨论】:

以上是关于如何在 Flash AS3 中从 URL 获取/获取变量的主要内容,如果未能解决你的问题,请参考以下文章

在 Flash AS3 中加载 PHP URL

高分求一个 flash as3.0的关于鼠标拖曳startDrag() 方法后 怎么获取拖曳后的坐标!!做凹透镜原理动画!

flash as3.0获取外部视频总的时间长度 和视频已播放的时间长度

adobe flash cs4 as3:获取正在运行的项目的当前目录?

ActionScript 3 AS3获取Flash Player版本号(包括主要和次要编号)

登录屏幕的 Flash AS3 错误 #2101