Joachim: Browsercheck nicht ganz klar

Beitrag lesen

hi,

browser=(navigator.appName.indexOf("Microsoft")==-1)?"NS":"IE";

hier wird allerdings lediglich geprueft, ob "Microsoft" enthalten ist, und, falls nicht, davon ausgegangen, dass es ein Netscape ist. Solche Abfragen sind nicht wirklich hilfreich, da sie wenig ueber die _Faehigkeit_ des Browsers aussagen. Ausserdem haben NC 6/7 und NC 4x nix miteinander gemein. (Gleiches gilt fuer die Mac-Abfrage, denn !Mac kann schliesslich auch Linux sein.)
Bewaehrt hat sich da eher eine Abfrage der bekannten Objekte, um entweder bestimmte Methoden auszufuehren, oder den Browser zu identifizieren. Das kann dann so aussehen, und beliebig erweitert werden:

// some known objects
var nc      =  !!(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 ie5     =  !!(document.all            &&  document.documentElement);
var dom     =  !!document.getElementById;
var mac     =  !!(navigator.userAgent.indexOf("Mac")!=-1);

teste das mal mit alert() und verschiedenen Browsern durch.

Gruesse  Joachim