Hallo,
if(opera || msie) { // Start (Browser OK)
alert("wunderbar"); }
else if(netscape) { // NS 4
alert("igitt - ns4. hässlich *g*"); }
} else if(dhtml) {
Mozilla meldet einen Syntaxfehler in dieser Zeile. Schau dir die Verschachtelung an:
if (opera || msie) {
alert("wunderbar");
} else
if(netscape) {
alert("igitt - ns4. hässlich *g*");
}
} else if(dhtml) {
...
Die einzig mögliche Form ist jedoch if (...) {...} else {...}, nicht noch mehrere else {...} dahinter.
Wenn du wirklich darauf stehst, wäre eher eine solche Verschachtelung sinnig (absichtlich in der Langform):
if (opera || msie) {
alert("wunderbar");
} else {
if (netscape) {
alert("ns4");
} else {
if (dhtml) {
alert("PROBLEMZONE");
} else {
if (badbrowser) {
alert("sonstiger browser");
}
}
}
}
Bzw. du willst wohl auf folgendes hinaus:
if (opera || msie || dhtml) {
alert("wunderbar");
} else {
if (netscape) {
alert("ns4");
} else {
alert("badbrowser")
}
}
Sozusagen. Das Problem liegt (selbstverständlich ;) in der Problemzone.
Dort ist kein Problem.
Ich möchte möglichst nicht mit irgendwelchen Useragent's arbeiten, die ich mühselig mittels regex-pattern auseinandernehmen müsste
Wieso solltest du das auch? Selbst wenn, es wäre nicht nötig, weil es auch andere zuverlässigere Abfragen gibt, siehe http://www.lipfert-malik.de/webdesign/tutorial/bsp/browser_js_test.html.
sondern nur eine schnelle und flexibele lösung
Mit welchem Ziel? Das ist immer der zentrale Punkt bei jeglichen JavaScript-Browserweichen.
sodass auch in z.B. Mozilla ein alert("wunderbar"); erscheinen kann und ich diesen browser nicht den Nichtidentifizierbaren zuschreiben muss.
Im Mozilla ist dhtml==true, wenn du den Fehler beseitigst.
Welchen Zweck hat die Identifizierung? Konqueror wird z.B. als MSIE erkannt.
Mathias