2010-04-27 10 views
7

Więc mam URL, że muszę mój film Flash, aby wyodrębnić zmienne z:Jak dostać/uzyskać zmienne z adresu URL w programie Flash AS3

przykład Link:
http://www.example.com/example_xml.php?aID=1234&bID=5678

muszę uzyskać pomoc i numery bID.

jestem w stanie uzyskać pełny adres URL do łańcucha poprzez ExternalInterface

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

Tylko pewien, jak manipulować ciąg po prostu uzyskać numery 1234 i 5678.

Doceń wszelkie wskazówki, linki lub pomoc w tej sprawie!

Odpowiedz

12

Utwórz nową instancję 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 dzięki :) gdzie mogę znaleźć informacje na temat wszystkich możliwych window.location składni.”I co robią –

+2

@Leon, ja osobiście jak odniesienia Firefox/Gecko, ale istnieją inne dokumenty dostępne. Https : //developer.mozilla.org/en/DOM/window#Properties –

+0

oh wow jest tona! Dzięki :) –

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 

Nieprawidłowy kod! Jest to po prostu z prostą manipulacją ciągami.

i ... prawie 1-liner (również niesprawdzone)

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

ale oczywiście to chyba lepiej iść z URLVariables :)

Powiązane problemy