UserAgent
Dietmar Hornung
- javascript
Hai Leuts,
bin relativ neu hier und finde die Selfhtml ziemlich Klasse!
Guter Support etc.
Vielleicht handelt es sich bei meinem Problem um Flat-User-Prob. Wir werden sehen.
Hier nun meine Frage:
Wie funktinoniert die Abfrage "UserAgent" ?
Ich habe diese Abfrage in einem Script benutzt um eine Browserversion heraus zu filtern.
Mit dem Erfolg, das ich alle existenten Versionen Abfragen muß, was bei den herrschenden Konventionen eine Menge Arbeit bedeutet.
Hier ein kleiner Ausschnitt aus dem Script: (man achte auf die unterschiedlichen Strings für die Version 4.5)
else if(isMac()) {
bnUse = navigator.userAgent;
if (bName == "Netscape" && bnUse == 'Mozilla/4.8 (Macintosh; I; PPC)') ver = "45m";
else if (bName == "Netscape" && bnUse == 'Mozilla/4.7 (Macintosh; I; PPC)') ver = "45m";
else if (bName == "Netscape" && bnUse == 'Mozilla/4.61 (Macintosh; I; PPC)') ver = "45m";
else if (bName == "Netscape" && bnUse == 'Mozilla/4.51 (Macintosh; I; PPC)') ver = "45m";
else if (bName == "Netscape" && bnUse == 'Mozilla/4.5 (Macintosh; I; PPC)') ver = "45m";
else if (bName == "Netscape" && bnUse == 'Mozilla/4.5 [de] (Macintosh; I; PPC)') ver = "45m";
else if (bName == "Netscape" && bnUse == 'Mozilla/4.08 (Macintosh; I; PPC)') ver = "4m";
else if (bName == "Netscape" && bnUse == 'Mozilla/4.07 (Macintosh; I; PPC)') ver = "4m";
Gibt es einen Ausweg ?
Vielen Dank im voraus
Dietmar Hornung
Hallo!
Gibt es einen Ausweg ?
Meinst Du, ob es im gagensatz zu Deiner Abfrage etwas kürzer geht?
Zuerst fragst Du ab, ob im String den Der Browser liefert, Mac vorkommt. Bei Mac intosh tut es das. Nun bist Du in der if-Abfrage für Macintosh. Dann fragst Du ab, ob in diesem String 4.0 vorkommt, wenn es das tut, liegt eine Version 4.0x vor. Tut es das nicht, wird abgefragt ob in diesem String eine 4 vorkommt. Es kann sich logischerweise nur noch um einer Version 4.x handeln. Zum Schluß, wenn nichts vorkamm, kann es ja nur noch eine 3 Version sein. Gibt es den Netscape 2.x für Mac? Keine Ahnung.
if (navigator.userAgent.indexOf("Mac") != 1)
{
if (navigator.userAgent.indexOf("4.0") !=1) ver = 4;
else if (navigator.userAgent.indexOf("4.") !=1) ver = 45;
else var = 3;
}
Ich habe es jetzt nicht getestet, sollte aber funktionieren.
<../../tecl.htm>
<../../tech.htm>
mfg, André Laugks
Vielen Dank einstweilen.
Werde das mal testen und berichten.
Hier gibt es downloadfertig eine Menge alter Browser:
http://home.netscape.com/download/archive/index.html
Wie funktinoniert die Abfrage "UserAgent" ?
Ich habe diese Abfrage in einem Script benutzt um eine Browserversion heraus zu filtern.
Mit dem Erfolg, das ich alle existenten Versionen Abfragen muß, was bei den herrschenden Konventionen eine Menge Arbeit bedeutet.
Das schreit ja geradezu nach regular expressions.
Lies Dich mal in <../../tecj.htm> ein ...
Wie funktinoniert die Abfrage "UserAgent" ?
Ich habe diese Abfrage in einem Script benutzt um eine Browserversion heraus zu filtern.
Mit dem Erfolg, das ich alle existenten Versionen Abfragen muß, was bei den herrschenden Konventionen eine Menge Arbeit bedeutet.
Zur Browserabfrage ist folgende URL sehr zu empfehlen (dokumentiertes script):
http://developer.netscape.com/docs/examples/javascript/browser_type.html
Viel Glück,
-Nail