Opera: String.match() beendet Skript!?
Yarin
- javascript
0 Yarin
Hallo alle zusammen,
ich habe hier ein - in meinen Augen - sehr misteriöses Problem, das nur im Opera-Browser (9.00 Build 8502, Windows 2000) auftritt. Internet Explorer und Firefox verarbeiten mein JavaScript anstandslos.
Es geht um diesen Code-Ausschnitt:
b.match(/<a .*?name=".+?".*?>/gi)
Dabei ist es egal, ob ich die Rückgabe eine Variable zuweise, sie einer Funktion übergebe oder einfach mit alert() ausgeben möchte. Ein Beispiel:
alert('Vorher');
alert( b.match(/<a .*?name=".+?".*?>/gi) );
alert('Nachher');
Führe ich das aus, so bekomme ich nur eine Alert-Box: "Vorher". Ab der match()-Zeile wird die Skriptausführung scheinbar abgebrochen. Und das misteriöse dabei:
Es gibt keine Fehlermeldung. Die Javascript-Fehlerkonsole (Tools->Advanced->Error console) von Opera bleibt leer. Die Variable b existiert definitiv und hat auch Inhalt.
Hat jemand eine Idee, was ich falsch mache oder wie man das Problem lösen kann? Danke!
Peinlich, zwei Minuten nach meinem Posting hier finde ich die Antwort selber.. Falls noch mal jemand das gleiche Problem hat und auf dieses Posting stößt:
Die Variable b wurde von einem Java-Applet an eine Funktion übergeben. Dabei war b im IE und Firefox vom Typ "String", im Opera war sie "Object".
b = new String(b);
...und mein Problem war gelöst..