Scooter: Browser-Detektion OHNE UserAgent-String (sondern durch Objekte)

Hi Forum,

ich würde in JS gerne verschiedene Browser an Hand ihrer JS-Fähigkeiten (d.h. Objekte/Eigenschaften) detektieren und NICHT den UserAgent-String benutzen. Grund dafür dürfte klar sein: Einige Browser (mir nur Opera, Mozilla und Konquerer bekannt) können sich als andere Browser ausgeben, bzw können ihren UA-String ändern.

Wie kann ich also mit Objekten/Eigenschaften eindeutig feststellen, um welchen Browser es sich handelt?

Einige weiß ich ja schon:

document.all && !document.getElementById && !window.opera

dürfte wohl eindeutig MSIE 4 sein.

document.layers ist wohl eindeutig NS 4.

Wie kann ich es bei den anderen Browsern machen??

Es interessiert mich die Unterscheidung zwischen Opera 5/6/7,
MSIE 5.0/5.5/6.0 (!!), Gecko-based Browser und Konqueror (3)

Bitte hinterfragt nicht den Sinn dieser unterscheidung (was in diesem Forum oft vorkommt), sondern sagt mir einfach nur, wie es geht!

Danke und Gruß
Scooter!