loadVariables-Funktion

loadVariables(url:String, target:Object [, method:String]) : Void

Liest Daten aus einer externen Datei, beispielsweise aus einer Textdatei oder aus Text, der von ColdFusion, einem CGI-, ASP- (Active Server Pages), PHP- oder Perl-Skript generiert wurde, und setzt die Variablenwerte in einen target-Movieclip ein. Mit dieser Aktion können auch Variablen in der aktiven SWF-Datei durch neue Werte aktualisiert werden.

Der Text an der angegebenen URL muss im MIME-Standardformat application/x-www-form-urlencoded (einem von CGI-Skripts verwendeten Standardformat) vorliegen. Es kann eine beliebige Anzahl von Variablen angegeben werden. Mit dem folgenden Ausdruck werden z. B. mehrere Variablen definiert:

company=Macromedia&address=600+Townsend&city=San+Francisco&zip=94103

Bei SWF-Dateien, die in einer Version vor Flash Player 7 ausgeführt werden, muss sich url in derselben Superdomäne wie die SWF-Datei befinden, die diesen Aufruf ausgibt. Eine Superdomäne wird durch Entfernen der äußeren linken Komponente der URL einer Datei abgeleitet. Eine SWF-Datei unter www.someDomain.com kann beispielsweise Daten von einer Quelle unter store.someDomain.com laden, da sich beide Dateien in derselben Superdomäne someDomain.com befinden.

Bei SWF-Dateien, die in Flash Player ab Version 7 ausgeführt werden, muss sich url in genau derselben Domäne befinden wie die SWF-Datei, aus der dieser Aufruf erfolgt (siehe "Flash Player-Sicherheitsfunktionen" in ActionScript in Flash verwenden). So kann beispielsweise eine SWF-Datei unter www.someDomain.com nur Daten von Quellen laden, die sich ebenfalls unter www.someDomain.com befinden. Wenn Sie Daten von einer anderen Domäne laden möchten, können Sie auf den Server, der die aufzurufende SWF-Datei enthält, eine domänenübergreifende Richtliniendatei laden. Weitere Informationen zum Thema "Domänenübergreifendes Laden von Daten ermöglichen" finden Sie im Handbuch ActionScript in Flash verwenden.

Wenn Sie Variablen in eine bestimmte Stufe laden möchten, verwenden Sie loadVariablesNum() anstelle von loadVariables().

Verfügbarkeit: ActionScript 1.0, Flash Lite 1.1. Verhalten wurde ab Flash Player 7 geändert.

Parameter

url:String - Eine absolute oder relative URL, an der sich die Variablen befinden. Wenn die SWF-Datei, die diesen Aufruf ausgibt, in einem Webbrowser ausgeführt wird, muss sich url in derselben Domäne befinden wie die SWF-Datei. Weitere Einzelheiten finden Sie im Abschnitt "Beschreibung".

target:Object - Der Zielpfad zu einem Movieclip, der die geladenen Variablen empfängt.

method:String [optional] - Legt eine HTTP-Methode zum Senden von Variablen fest. Dieser Parameter muss den String GET oder POST enthalten. Lassen Sie diesen Parameter weg, wenn es keine zu sendenden Variablen gibt. Bei der Methode GET werden die Variablen am Ende der URL angehängt. Diese Methode wird zum Senden einer kleineren Anzahl von Variablen verwendet. Bei der Methode POST, die zum Senden langer Variablenstrings verwendet wird, werden die Variablen in einem separaten HTTP-Header gesendet.

Beispiel

Im folgenden Beispiel werden die Informationen aus der Textdatei params.txt in den Movieclip target_mc geladen, der mithilfe von createEmptyMovieClip() erstellt wurde. Mit der Funktion setInterval() wird der Ladevorgang überwacht. Das Skript sucht nach einer Variablen in der Datei params.txt mit dem Namen done.

this.createEmptyMovieClip("target_mc", this.getNextHighestDepth());
loadVariables("params.txt", target_mc);
function checkParamsLoaded() {
 if (target_mc.done == undefined) {
 trace("not yet.");
 } else {
 trace("finished loading. killing interval.");
 trace("-------------");
 for (i in target_mc) {
 trace(i+": "+target_mc[i]);
 }
 trace("-------------");
 clearInterval(param_interval);
 }
}
var param_interval = setInterval(checkParamsLoaded, 100);

Die externe Datei params.txt enthält folgenden Text:

var1="hello"&var2="goodbye"&done="done"

Siehe auch

loadVariablesNum-Funktion, loadMovie-Funktion, loadMovieNum-Funktion, getURL-Funktion, loadMovie (MovieClip.loadMovie-Methode), loadVariables (MovieClip.loadVariables-Methode), load (LoadVars.load-Methode)