Gunnar Bittersmann: Browsererkennung

Beitrag lesen

@@molily:

nuqneH

Nein, davon war im OP nicht die Rede.

Im OP wurde nach einer Erkennung von Nicht-IE-Browsern gefragt.

Im OP wurde nach „welche nur mit dem Internet Explorer korrekt angezeigt werden […] warum bestimmte Sachen [im Firefox] nicht richtig angezeigt werden“ gefragt. Hört sich für mich stark nach Rendermodus an.

(BTW: Welcher IE? Die Unterschiede zwischen IE 6 und IE 9 dürften größer sein als zwischen IE 9 und Firefox.)

Was sollte an document.documentMode nicht sicher sein?
Es ist sicher dafür, wofür es gedacht ist, nämlich zur Abfrage des Rendermodus,

Eben das ist wohl das entscheidende Kriterium, s.o.

und wie gesagt nicht mit Versionserkennung in einen Topf zu werfen.

Natürlich nicht. Wobei die Version vermutlich völlig irrelevant ist. Wenn der Rendermodus IE 7 ist, dürfte kaum von Interesse sein, ob der Browser ein 7er oder ein als 7er betriebener 8er oder 9er ist.

Und wenn du mit „Versionserkennung“ die Version der JScript-Engine meinst: Auch diese ließe sich mit conditional compilation per [link:http://www.javascriptkit.com/javatutors/conditionalcompile2.shtml@title=@_jscript_version] sicher erkennen. (Falls man sowas brauchen sollte. Feature detection wäre wohl das Mittel der Wahl.) Für die Abfrage des User-Agents sehe ich keinerlei Bedarf.

Was gegen einen solchen Ansatz spricht, habe ich bereits in https://forum.selfhtml.org/?t=208553&m=1418416 aufgezählt. Ohne konkrete Zielsetzung wird eine Umsetzung notwendig schwammig,

Ich bin (begründetermaßen, IMHO) vom Rendering als konkreter Zielsetzung ausgegangen. Dafür ist document.documentMode sicher, wie du selbst sagtest. Nix mit User-Agent.

weil nicht definiert ist, was in gewissen Fällen passieren soll (hier Rendermodus vs. Browserversion, deaktiviertes natives XHR).

Dass die Unterscheidung von IE 6 und IE 7 per window.XMLHttpRequest problemtatisch ist, habe ich eingeräumt. Dass sie unnötig ist, hab ich auch gesagt. Dass die Browserversion irrelevant ist, auch.

Qapla'

--
Gut sein ist edel. Andere lehren, gut zu sein, ist noch edler. Und einfacher.
(Mark Twain)