Hi,
wohlgemerkt,
ich lehne eine ueberpruefung auf die render-engine keineswegs rundheraus ab, denn
es gibt durchaus situationen, (...)
in denen es wichtig ist, dieses ding genau zu kennen,
Ja, dem stimme ich zu.
Allerdings:
so auch in den untiefen von [HTMLElement.style],
Hier eher nicht. Klar, auch ich frage ab, ob cssFloat oder styleFloat genutzt werden muß (das als IE-Kennung zu nutzen, da hätte ich allerdings Magengrummeln), aber ...
wie z.b. auf [style.filter ... ] fuer
den msie oder frueher fuer die damals noch uneinheitlichen [style.opacity]-werte
wie [style.MozOpacity] oder [style.KhtmlOpacity].
... hier muß ja gar keine Browserweiche her: Das läßt sich alles ohne Weiche einsetzen. Die Browser, die es nicht können, ignorieren es halt einfach (das gilt sowohl für die filter-Stile auf den Nicht-IEs, als auch für die div. opacity-Stile auf dem IE).
Und wie gesagt: Eine Browsererkennung aufgrund von CSS, da grummelt es bei mir. ;-)
- Für IE nehme ich Conditional Compilation. IIRC beherrscht der IE/Mac keine Behaviors, würde also von deiner Erkennung nicht erfaßt. Bei CC wird er nicht nur erfaßt, man kann ihn auch einfach separieren.
- Für Opera ist die Abfrage einfach: window.opera (wird offiziell empfohlen)
- Konquerors haben bei navigator.vendor ein "KDE" (da das dies die offizielle Erkennungsmöglichkeit für "getarnte" Konquerors ist, wird sich das wohl auch nicht ändern, wenn auf die Webkit-Engine umgestellt wird)
- Geckos haben bei navigator.product ein "Gecko". Apples WebKit tarnt sich hier ebenfalls als Gecko-Engine, hat aber als navigator.vendor ein "Apple Computer, Inc.". Außerdem kann man auch noch in navigator.appName nach "AppleWebKit" suchen (Konqueror hat hier ein schlichtes "Konqueror" - jedenfalls mom. noch).
Jetzt würden mich deine Argumente interessieren, ob und wenn ja warum Du deine Abfrage für sinnvoller/sicherer hältst (Nachbesserung IE/Mac vorausgesetzt ;-)).
Gruß, Cybaer
Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!