Hallo,
Zur Laufzeit möchte ich ein Javascript dynamisch nachladen. Um zu überprüfen, ob das Script (was nur Variablen enthält) geladen wurde, habe ich eine Variable (var g_pInd=1;) im zu ladenden Script als Indikator definiert.
Die Variablen sind dann im scope von window? Also das, was man bei JavaScript global nennt?
- Schöner ist es, den Variablennamen an die Warte-auf-Javascript-Funktion zu übergeben. Hierzu muß der Variablenname als String übergeben werden, damit nicht bereits der Aufruf der Wartefunktion einen Fehler erzeugt:
Den könnte man ja abfangen http://de.selfhtml.org/javascript/beispiele/fehlerbehandlung_try_catch.htm.
Leider habe ich noch keinen Weg gefunden, den String in einen Bezeichner zu wandeln, ohne daß eine Fehlermeldung erzeugt wird, wenn die Variable noch nicht existiert.
Wenn es globale Variablen sind, dann sind sie, wenn vorhanden, im scope window. Sie können dort als Eigenscft des window Objektes:
var g_pInd=1;
alert(window.g_pInd);
alert(window["g_pInd"]);
angesprochen werden. Nicht vorhandene Eigenschaften geben undefined zurück, ohne einen Fehler zu generieren.
test = 0;
var variable = "test1";
if (typeof(window[variable]) != "undefined") {
alert(window[variable]);
} else {
alert("Die Variable " + variable + " existiert nicht.");
}
viele Grüße
Axel