unterscheidung von browsern
dirk völlger
- javascript
ich suche ein javascript, das es mir ermöglicht, die browser zu erkennen und entsprechend Seiten die für IE bzw. Netscape geschrieben sind automatisch öffnet.
hi
ich suche ein javascript, das es mir ermöglicht, die browser zu erkennen und entsprechend Seiten die für IE bzw. Netscape geschrieben sind automatisch öffnet.
der einzige Browser, der sich sicher erkennen läßt ist Netscape 4, bei allen anderen wirst du dank diverser Ähnlichkeiten und gefakter Kennungen eine hohe Fehlerquote haben.
NN4 fängt man in JavaScript mit if(document.layers) ab.
Grüße aus Lüneburg
Kai
ich suche ein javascript, das es mir ermöglicht, die browser zu erkennen und entsprechend Seiten die für IE bzw. Netscape geschrieben sind automatisch öffnet.
Die dabei immer zu stellende Gegenfrage: Warum? Zu welchem Zweck?
Es ist ohne weiteres möglich, ein Design für alle Browser herzustellen - da muß nicht unterschieden werden.
Eine andere Sache ist es, wenn Javascript auf die Unterschiede der einzelnen Browser eingehen muß (was aber im Prinzip nur NS 4 und IE 4 betrifft).
Also: Was willst du erreichen?
- Sven Rautenberg
hi,
eine praktikable Moeglichkeit ist die Unterscheidung auf Grund bekannter Objekte. Wer es dann noch genauer braucht, kann den userAgent durchforsten:
// 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);
// test
alert(nc);
ich rate allerdings dringend davon ab, Browserspezifische Seiten zu basteln, der Aktualisierungsaufwand steigt im Quadrat. Javascript kannst Du crossbraowserfaehig schreiben, html sowieso.
Gruesse Joachim
hi
// 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);
...in welchem Ast da dann MSIE6, konqueror 2 und 3 oder iCab landen ist allerdings auch fraglich. Nochlustiger werden zukünftige Browser wie etwa Opera 7...
Grüße aus Lüneburg
Kai