Hi ho!
Nehmen wir mal folgendes Script:
Damit würde mir ja "Hallo Welt!" ausgegeben werden. Nun ist mein Script ne runde Komplexer. Und zwar lade ich via XMLHttpRequest eine Sprachdatei, und möchte diese anschließend in einer Variable speichern:
Im Prinzip habe ich hier das selbe wie oben: Wenn run = false ist, wird HTMLHttpRequest ausgeführt, mit dem die SprachXML eingelesen wird. Von dieser aus wird nun load_lang erneut aufgerufen mit run = true, sowie die XML übergeben. Anschließend lese ich via getElementsByTagName einen Wert aus, und speicher ihn in die Variable username.
Problem ist hier, dass username anschließend null ist. Mache ich innerhalb der load_lang funktion ein document.write(username), bekomme ich "Benutzername" ausgegeben. Mache ich document.write(username) außerhalb der funktion, ist username = null.
Wieso wird der Wert der XML jetzt nicht in der Variable gespeichert?
Und was mich im allgemeinem interessieren würde, welcher Weg ist besser/vorteilhafter:
1) Sprachdatei komplett einlesen, in z.B. einem Array speichern, und dann mit JS darauf zugreifen
2) Jeweils nur bei Bedarf die Sprachvariablen abrufen, wodurch ich die Sprachdatei praktisch immer wieder neu laden würde
Danke schonmal
Nehmen wir mal folgendes Script:
Code:
var a = null; function bla() { a = "Hallo Welt!"; } bla(); document.write(a);
Code:
var language = null; window.onload = function() { load_lang(true, null); } function load_lang(run,dom) { if(run == true) { call = "load_lang"; createRequest("ajax.php?call=load_lang&lang=de", "load_lang"); } else { if(dom != '') { username = dom.getElementsByTagName("lang_username")[0].firstChild.nodeValue; } } }
Problem ist hier, dass username anschließend null ist. Mache ich innerhalb der load_lang funktion ein document.write(username), bekomme ich "Benutzername" ausgegeben. Mache ich document.write(username) außerhalb der funktion, ist username = null.
Wieso wird der Wert der XML jetzt nicht in der Variable gespeichert?
Und was mich im allgemeinem interessieren würde, welcher Weg ist besser/vorteilhafter:
1) Sprachdatei komplett einlesen, in z.B. einem Array speichern, und dann mit JS darauf zugreifen
2) Jeweils nur bei Bedarf die Sprachvariablen abrufen, wodurch ich die Sprachdatei praktisch immer wieder neu laden würde
Danke schonmal
Kommentar