2010-04-27 17 views
7

Così ho un URL che ho bisogno del mio filmato Flash per estrarre le variabili da:Come arrivare/ottenere variabili da URL in Flash AS3

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

ho bisogno di ottenere l'aiuto e i numeri bID.

Sono in grado di ottenere l'URL completo in una stringa tramite ExternalInterface

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

Proprio incerti come manipolare la stringa per ottenere solo i 1234 e 5678 numeri.

Apprezzare qualsiasi suggerimento, collegamento o aiuto con questo!

risposta

12

creare una nuova istanza di 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 grazie :) dove posso trovare informazioni su tutte le possibili "window.location sintassi. E cosa fanno –

+2

@Leon, io personalmente come il riferimento Firefox/Gecko, ma ci sono altri riferimenti disponibili. Https : //developer.mozilla.org/en/DOM/window#Properties –

+0

oh wow ci sono un sacco! Grazie :) –

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 

Codice non testato! Questo è solo con una semplice manipolazione delle stringhe.

e ... quasi 1-liner (anche non testata)

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

ma naturalmente è probabilmente meglio andare con URLVariables :)