Objektliste / Eigenschaften bei IE
Guido
- javascript
Moin,moin
ich habe eine grundsätzliche Frage. Wie kann man aus dem IE mehr über seine "Sichtweise" des Code's rausbekommen. Mich hat neulich ein Effekt genervt bei dem mir der IE sagte das ein Objekt die Methode nicht unterstützt ...etc.
Es war ein String und auf den habe ich match() angewendet.
Es hat mich viel Zeit gekostet bis ich ein "Workaround" gefunden habe... ich habe vor und nach dem String ein Space addiert und schon gings. Letztendlich hätte ich aber gerne verstanden was der IE von mir wollte oder was ich falsch gemacht habe, denn extra, außerhalb meiner richtigen Seite (Suche in Werten von XML Daten), funktionierte die Funktion.
Im Netscape waren die JS Hilfen immer etwas informativer, gibts da Alternativen (aber nicht den Debugger, das Ding nervt)
Bye Guido
Hallo Guido
ich habe eine grundsätzliche Frage. Wie kann man aus dem IE mehr über seine "Sichtweise" des Code's rausbekommen.
eigentlich brauchst du eher den Typ des abgefragten Objektes
Es war ein String und auf den habe ich match() angewendet.
ich habe vor und nach dem String ein Space addiert und schon gings.
gefordert war ein Stringobjekt, dass hattest du nicht angeboten. Durch das Hinzufügen der Leerzeichen trat die interne Typkonvertierung in Kraft und der Browser hatte was er brauchte einen String.
Letztendlich hätte ich aber gerne verstanden was der IE von mir wollte oder was ich falsch gemacht habe, denn extra, außerhalb meiner richtigen Seite (Suche in Werten von XML Daten), funktionierte die Funktion.
Dein Fehler war, dass du nicht den Typ, der zurückgeliefert wird, geprüft hattest. Es hat sich da offensichtlich nicht um einen String gehandelt.
Prüfen kannst du mit dem typeof-Operator.
z.B.
x=80;
alert(typeof x)
alert(typeof x.toString())
Die Methode toString() wandelt dann deine Variable in den gewünschten String um.
z.B.
erzeugt dies einen Fehler, weil x vom Typ number ist und number nicht die Methode indexOf kennt.
alert(x.indexOf(0))
Hier wird x als String betrachtet und folgerichtig 1 ausgegeben.
alert(x.toString().indexOf(0))
Übrigens verhält sich nicht nur der IE so, sondern auch die anderen Browser.
Viele Grüße
Antje