Mahlzeit Hundi,
ich versuche mal, Javascript-Parser zu spielen:
function _read_xml( xml ) {
(Angenommen, die Funktion wird wirklich mit einem String "de.error.java_error" als Parameter aufgerufen)
if ( xml ) {
Jo, eine Variable namens "xml" existiert und liefert auch nicht undefined zurück. Also rein in die Bedingung ...
var arr = xml.split( "." )
Momeeent, da sind doch Punkte in dem String - ich generiere also mal ein Array('de', 'error', 'java_error') ...
var str = document
Alles klar, ich lege eine Kopie des Objekts namens "document" in der lokalen Variablen namens "str" ab ...
for ( i=0; i<arr.length; i++ ) {
Auf geht's: eine Schleife mit der globalen Variable i als Zähler, wir fangen bei 0 an und gehen bist zur Anzahl der im Array "arr" enthaltenen Elemente ...
str = str.getElementsByTagName( arr[ 1 ] )[ 0 ]
Beim 1. Durchlauf: Ich hole mir das erste Element mit dem Tagnamen "error", das sich innerhalb des Dokuments befinden und speichere den Wert n der Variablen "str" ... Huch?! Ein Element <error> gibt's in HTML doch gar nicht?!
(selbst wenn kein Fehler aufgetreten wäre:)
Beim 2. Durchlauf: Ich hole ... Huch?! In der Variablen "str" befindet sich ja ein String - der hat doch gar keine Methode getElementsByTagName()?!
...
Der IE (mit 7er getestet) hat jedoch Probleme mit der Zeile [code lang=javascript]str = str.getElementsByTagName( arr[ 1 ] )[ 0 ]
Kein Wunder.
> Laut dem was ich gelesen habe sollte der IE7 das aber eig können.
Das bezweifle ich doch sehr.
MfG,
EKKi
--
sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|