2010-04-27 15 views
7

Así que tengo una dirección URL que necesito mi película Flash para extraer las variables de:Como llegar/obtener las variables de URL Flash AS3

ejemplo enlace:
http://www.example.com/example_xml.php?aID=1234&bID=5678

que necesita para obtener la ayuda y los números de BID.

soy capaz de obtener la URL completa en una cadena a través de ExternalInterface

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

Sólo inseguro en cuanto a cómo manipular la cadena para obtener sólo los 1234 y 5678 números.

¡Aprecie cualquier consejo, enlace o ayuda con esto!

Respuesta

12

crear una nueva instancia de 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 
+0

woot gracias :) ¿dónde puedo encontrar información sobre todo el window.location posible. Sintaxis" y lo que hacen –

+2

@Leon, personalmente me gusta la referencia Firefox/Gecko, pero hay otras referencias disponibles. Https : //developer.mozilla.org/en/DOM/window#Properties –

+0

¡Oh, vaya! ¡Muchas gracias! :) –

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 

Código no verificado! Esto es solo con una simple manipulación de cadenas.

y ... casi 1-liner (también no probado)

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]; 

pero por supuesto que es probablemente mejor ir con URLVariables :)