如何在 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.0的关于鼠标拖曳startDrag() 方法后 怎么获取拖曳后的坐标!!做凹透镜原理动画!
flash as3.0获取外部视频总的时间长度 和视频已播放的时间长度
adobe flash cs4 as3:获取正在运行的项目的当前目录?