Der folgende Beitrag wurde am 23. 02. 2002, 22:10 Uhr von Mischa veröffentlicht.
Hallo! Ich hab mal wieder ein kleines Problemchen:
Habe ein JS zur Browsererkennung gebastelt und verstehe nicht, warum es von allen Browsern falsch interpretiert wird!
--------------------------------------------------------------------
<script language="JavaScript">
<!--
browser = navigator.appName;
version = parseInt(navigator.appVersion);
if (browser == "Netscape" && version >= 6) version = "ok";
else if (browser == "Netscape" && version < 6) version = "nc";
else if (browser == "Microsoft Internet Explorer" && version >= 6)
version = "ie6";
else if (browser == "Microsoft Internet Explorer" && version >= 5)
version = "ie5";
else if (browser == "Microsoft Internet Explorer" && version < 5)
version = "ie";
else version = "else";
if (version == "ok") {
alert("Du verwendest als Browser den Netscape 6. \n Eine korrekte Darstellung kann deshalb nicht garantiert werden!");
location.href="index2.html";
}
if (version == "nc") {
alert("Sorry! \n Du verwendest einen Netscape-Browser der Version 5 oder tiefer. \n Die gewünschte Website kann deshalb nicht dargestellt werden! \n Du wirst daher auf die Homepage der Jahrgangsstufe 12\n der Lichtenbergschule Darmstadt weitergeleitet. \n\nWenn du die Seite trotzdem betrachten möchtest,\n benutze den Microsoft Internet Explorer oder den Netscape 6\n oder gib einfach folgende Adresse in das Adressfeld deines Browsers ein:\n http://www.spicken.de/abizeitung/1024_768/index2.html");
location.href="http://www.duck-soft.de/jahrgang12";
}
if (version == "ie6") {
location.href="index2.html";
}
if (version == "ie5") {
location.href="index2.html";
}
if (version == "ie") {
alert("Du verwendest als Browser den Microsoft Internet Explorer, Version 5 oder tiefer.\nEs ist dringend zu empfehlen, deinen Browser upzudaten auf Version 5, 5.5 oder 6!!!\nDie entsprechenden Downloads findest du unter http://www.microsoft.com/germany.\nNun aber viel Spaß auf der Homepage des AZ-Teams!!");
location.href="index2.html";
}
if (version == "else") {
alert("Du verwendest weder einen Microsoft- noch einen Netscape-Browser!\nEs können daher Unstimmigkeiten bei der Anzeige der Website auftreten!");
location.href="index2.html";
}
//-->
</script>
--------------------------------------------------------------------
Beim Internet Explorer 6 wird die Meldung, die eigentlich für den IE 4 und tiefer gedacht war ausgegeben:
Du verwendest als Browser den Microsoft Internet Explorer, Version 5 oder tiefer.\nEs ist dringend zu empfehlen, deinen Browser upzudaten auf Version 5, 5.5 oder 6!!!\nDie entsprechenden Downloads findest du unter http://www.microsoft.com/germany.\nNun aber viel Spaß auf der Homepage des AZ-Teams!!
Bei NS 6 wird die Meldung für NS 5 und tiefer ausgegeben:
Sorry! \n Du verwendest einen Netscape-Browser der Version 5 oder tiefer. \n Die gewünschte Website kann deshalb nicht dargestellt werden! \n Du wirst daher auf die Homepage der Jahrgangsstufe 12\n der Lichtenbergschule Darmstadt weitergeleitet. \n\nWenn du die Seite trotzdem betrachten möchtest,\n benutze den Microsoft Internet Explorer oder den Netscape 6\n oder gib einfach folgende Adresse in das Adressfeld deines Browsers ein:\n http://www.spicken.de/abizeitung/1024_768/index2.html
Opera wird mit dem Internet Explorer verwechselt - auch hier:
Du verwendest als Browser den Microsoft Internet Explorer, Version 5 oder tiefer.\nEs ist dringend zu empfehlen, deinen Browser upzudaten auf Version 5, 5.5 oder 6!!!\nDie entsprechenden Downloads findest du unter http://www.microsoft.com/germany.\nNun aber viel Spaß auf der Homepage des AZ-Teams!!
Was hab ich denn bitte falsch gemacht, dass mich gleich ALLE Browser im Stich lassen und promt etwas anderes ausspucken, als was ich gerne hätte???
Kann mir jemand helfen??
Gruß,
Mischa (Cpt. Karl)
Der folgende Beitrag wurde am 23. 02. 2002, 22:21 Uhr von Kai Lahmann veröffentlicht.
hi
gibt's auch einen Browser, der mit deiner Seite zurechtkommt? Nach den Warnungen nicht.
> Was hab ich denn bitte falsch gemacht, dass mich gleich ALLE Browser im Stich lassen und promt etwas anderes ausspucken, als was ich gerne hätte???
mach die Seite lieber so, dass es einfach überall geht. Diese Meldungs-Orgie ist ja abscheulich.
Der folgende Beitrag wurde am 23. 02. 2002, 22:33 Uhr von W. Pichler veröffentlicht.
> hi
> mach die Seite lieber so, dass es einfach überall geht. Diese Meldungs-Orgie ist ja abscheulich.
Dem kann ich nur zustimmen.
Außerdem wiedersprechen sich die Meldungen:
Einmal heißt es:
Wenn du die Seite trotzdem betrachten
möchtest,\n benutze den Microsoft Internet Explorer oder den Netscape 6
Aber dann trotzdem:
Du verwendest als Browser den Netscape 6. \n Eine korrekte Darstellung kann deshalb nicht garantiert
werden!
Ciao
W. Pichler
Der folgende Beitrag wurde am 23. 02. 2002, 22:54 Uhr von W. Pichler veröffentlicht.
> Hallo! Ich hab mal wieder ein kleines Problemchen:
Du solltest besser gleich sagen:
alert("Wir sind hier auf Windows! Ich bin leider (noch?) nicht in der Lage, anständig zu programmieren. Wenn Ihr unseren geliebten, unsicheren M$$ IE 5 oder 6 nicht verwendet, geht doch zum Teufel!");
Dann wirst du wenigstens gleich richtig eingeschätzt.
Ciao
W. Pichler
Der folgende Beitrag wurde am 23. 02. 2002, 23:02 Uhr von xNeTworKx veröffentlicht.
> Netscape-Browser der Version 5
klingt ja hoch interressant, hab leider noch nie davon gehört =)
Der folgende Beitrag wurde am 24. 02. 2002, 01:32 Uhr von Ralph veröffentlicht.
Hallo, xNeTworKx
Das ist schon korrekt mit Netscape 5. Die offizielle Versionsnummer ist zwar 6, aber die "interne Nummer" ist halt 5.
Gruß
Der folgende Beitrag wurde am 23. 02. 2002, 23:36 Uhr von Ed X veröffentlicht.
Hi,
Wie du vielleicht mitbekommen hast, ist im Forum in der vergangennen
Zeit auch über gefakte USER_AGENT-String diskutiert worden.
IMHO bringt dir die Navigator-abfrage nix. Frage also lieber nach
sinnvollen sachen:
if (document.layers) --> NN4x
if ((document.all) && (!document.getElementById)) --> IIIIIIIIE4
if ((document.all) && (document.getElementById)) --> IIIIIIIIE5+
if ((!document.all) && (document.getElementById)) --> mozilla, NN6
hier fehlt jetzt noch der Opera, must du halt noch etwas stöbern.
aber das ist wesentlich brauchbarer.
bye eddie
PS. Ich schließe mich der Meinung an, besser Seiten zu basteln die in
möglichst vielen Browsern gut aussehen, statt dem User zu melden was
nicht geht.
Der folgende Beitrag wurde am 24. 02. 2002, 00:37 Uhr von Kai Lahmann veröffentlicht.
hi
> IMHO bringt dir die Navigator-abfrage nix. Frage also lieber nach
> sinnvollen sachen:
> if (document.layers) --> NN4x
> if ((document.all) && (!document.getElementById)) --> IIIIIIIIE4
> if ((document.all) && (document.getElementById)) --> IIIIIIIIE5+
> if ((!document.all) && (document.getElementById)) --> mozilla, NN6
> hier fehlt jetzt noch der Opera, must du halt noch etwas stöbern.
> aber das ist wesentlich brauchbarer.
Opera landet damit in der letzten Rubrik, konqueror unter IE5+
Der folgende Beitrag wurde am 24. 02. 2002, 01:10 Uhr von Joachim veröffentlicht.
hi,
und hier mit opera...
// some known objects
var nc4 = !!(document.captureEvents && document.getElementById);
var nc6 = !!(document.captureEvents && document.documentElement);
var opera = !!(document.getElementById && !document.documentElement);
var ie = !!document.all;
var ie4 = !!(document.all && !document.documentElement);
var ie5Up = !!(document.all && document.documentElement);
var dom = !!document.getElementById;
hth + Gruss Joachim
Der folgende Beitrag wurde am 24. 02. 2002, 09:57 Uhr von Ed X veröffentlicht.
Moin,
> > IMHO bringt dir die Navigator-abfrage nix. Frage also lieber nach
> > sinnvollen sachen:
> > if (document.layers) --> NN4x
> > if ((document.all) && (!document.getElementById)) --> IIIIIIIIE4
> > if ((document.all) && (document.getElementById)) --> IIIIIIIIE5+
> > if ((!document.all) && (document.getElementById)) --> mozilla, NN6
> Opera landet damit in der letzten Rubrik, konqueror unter IE5+
schluck, soll das heißen Konquerer kennt das all-object?
bye eddie
Der folgende Beitrag wurde am 24. 02. 2002, 13:16 Uhr von Sven Rautenberg veröffentlicht.
> > Opera landet damit in der letzten Rubrik, konqueror unter IE5+
> schluck, soll das heißen Konquerer kennt das all-object?
Opera kennt das all-Objekt auch, wenn er sich als IE5 verkleidet. :) Aber er kann nicht alles, was der IE kann, also ist das eher problematisch.
- Sven Rautenberg
Der folgende Beitrag wurde am 24. 02. 2002, 13:35 Uhr von Patrick Andrieu veröffentlicht.
Hallo Kai!
> Opera landet damit in der letzten Rubrik, konqueror unter IE5+
Hmm.. Opera kennt aber document.all (wenn er sich als IE tarnt) oder? Jedenfalls führt er bei mir immer brav die if Abfrage...
Grüße,
Patrick
Der folgende Beitrag wurde am 24. 02. 2002, 22:34 Uhr von Kai Lahmann veröffentlicht.
hi
> > Opera landet damit in der letzten Rubrik, konqueror unter IE5+
> Hmm.. Opera kennt aber document.all (wenn er sich als IE tarnt) oder? Jedenfalls führt er bei mir immer brav die if Abfrage...
Opera nicht, aber konqueror :)
übrigens ändert sich meines wissens nach bei beiden durch die Tarnung nichts außer dem ID-String.
Der folgende Beitrag wurde am 24. 02. 2002, 23:17 Uhr von Sven Rautenberg veröffentlicht.
Moin!
> > > Opera landet damit in der letzten Rubrik, konqueror unter IE5+
> > Hmm.. Opera kennt aber document.all (wenn er sich als IE tarnt) oder? Jedenfalls führt er bei mir immer brav die if Abfrage...
> Opera nicht, aber konqueror :)
Doch, auch Opera. Der kennt unter dem Tarnmantel "IE 5" sowohl document.all, als auch "jscript".
> übrigens ändert sich meines wissens nach bei beiden durch die Tarnung nichts außer dem ID-String.
Naja, bis eben auf die Kenntnis über gewisse Objekte im DOM. ;)
- Sven Rautenberg
Der folgende Beitrag wurde am 24. 02. 2002, 23:44 Uhr von Ed X veröffentlicht.
Hi,
> Doch, auch Opera. Der kennt unter dem Tarnmantel "IE 5" sowohl document.all, als auch "jscript".
> > übrigens ändert sich meines wissens nach bei beiden durch die Tarnung nichts außer dem ID-String.
> Naja, bis eben auf die Kenntnis über gewisse Objekte im DOM. ;)
;) ?
ich find das eigentlich nicht so witzig, da es browser unabhängiges
Javascript extrem aufwändig macht. also :-(
bye eddie
Der folgende Beitrag wurde am 25. 02. 2002, 03:02 Uhr von Kai Lahmann veröffentlicht.
hi
> Doch, auch Opera. Der kennt unter dem Tarnmantel "IE 5" sowohl document.all, als auch "jscript".
ich hoffe, er kann dann nicht nur die Abfrage document.all beantworten, sondern kann auch die dazugehörigen Funktionen...
Der folgende Beitrag wurde am 26. 02. 2002, 12:07 Uhr von Sven Rautenberg veröffentlicht.
Moin!
> > Doch, auch Opera. Der kennt unter dem Tarnmantel "IE 5" sowohl document.all, als auch "jscript".
> ich hoffe, er kann dann nicht nur die Abfrage document.all beantworten, sondern kann auch die dazugehörigen Funktionen...
Naja, zumindest wird das behauptet. Es ist aber kein IE 5 unter der Haube, sondern Opera. Das meiste wird funktionieren, der Teufel steckt vermutlich im Detail.
Ich würde bei Abfragen immer zuerst auf getElementById prüfen, und nur wenn das nicht geht (IE4, NS4) auf Alternativen ausweichen.
- Sven Rautenberg
Der folgende Beitrag wurde am 24. 02. 2002, 01:49 Uhr von Ralph veröffentlicht.
Hallo, Mischa.
Es sind zuviele Fehler enthalten.
1. Netscape 6 identifiziert sich als 5, nicht als 6. Es isat halt die 5. Generation.
2. Der IE identifiziert sich als Version 4, egal ob 4, 5, oder 6.
3. Opera kann verschiedene Identifizierungen annehmen. Schau mal die Einstellungsmöglichkeiten durch.
Hier mal ein "Grundgerüst", den Opera hab ich rausgelassen:
<script language="JavaScript" type="text/javascript">
<!--
var browser = navigator.userAgent.toLowerCase();
var av = parseInt(navigator.appVersion);
var an = parseFloat(navigator.appVersion);
var moz = ((browser.indexOf('mozilla')!=-1) && (browser.indexOf('compatible')==-1) && (browser.indexOf('spoofer')==-1));
var ie = (browser.indexOf('msie')!=-1); // IE allgemein
var nnav = (moz && (av<5)); // Netscape bis 4.7
var nn6 = (moz && (av==5)); // NN 6 speziell
var ie5 = (ie && (av==4) && (browser.indexOf("msie 5.0")!=-1)); // IE 5.0
var ie6 = (ie && (av==4) && (browser.indexOf("msie 6.0")!=-1)); // IE 6.0
if(nn6)
...
else if(nnav)
...
else if(ie6)
...
else if(ie5)
...
else if(ie)
...
//-->
</script>
Die alerts mußt du schon selbst einfügen :-)
Sinnvoll wär es aber schon, wenn du die Seiten weitestgehenst so erstellst, daß du dir die Meldungen schenken kannst.
Gruß
© 1998-2013 SELFHTMLImpressumSoftware: Classic Forum 3.4