[latex]Mae govannen![/latex]
window.opera ist bekannt, aber wie erkenne ich z.B. sicher die Version Opera 7.54 [und kleiner] (jetzt mal abgesehen von der Sinnhaftigkeit) Bei neueren Operas habe ich window.opera.version(), aber das gab es damals noch nicht _> undefined.
Äh, appVersion vielleicht?
Nein, eben nicht. Wenn ich den UA [1] ändere, dann ändert sich auch appVersion. Demzufolge kein verlässliches Erkennungszeichen.
Sieht so aus, als müßte ich bei der Methode "Featuretest irgendeiner spezifischen Eigenschaft/Methode aus besagter Liste" bleiben, alles andere scheint mindestens genauso unsicher. Und jetzt für jeden Browser stundenlang recherchieren, ob und was sich ändert, dürfte schwierig werden. Es bleibt die Erkenntnis, daß eine hundertprozentige Erkennung wohl nicht wirklich möglich ist, aber durch bestimmte Featuretest (evtl. noch in Kombination) kann man zumindest ziemlich sicher sein.
Und wenn man ehrlich ist, ist eine Abfrage-Kombination auf Methoden/Eigenschaften, die man zwar nicht nutzt, aber einen Browser und dessen Version ziemlich genau eingrenzen kann, zwar streng aus Programmiersicht schlechter Stil, aber gerade bei Javascript/Jscript muß man leider ohnehin viele Verrenkungen machen. Wenn man diese Featureabfrage entsprechend dokumentiert, sollte es auch kein wirkliches Problem sein. Zumal Fälle, die einer solchen spezifische Erkennung bedürfen, ohnehin sehr selten vorkommen werden.
Cü,
Kai
[1] gespenstisch, habe bis vor wenigen Minuten den Film über Flug UA93 am 11.September geschaut und jetzt das ...
Ash nazg durbatulûk, ash nazg gimbatul,ash nazg thrakatulûk, agh burzum-ishi krimpatul
selfcode sh:( fo:| ch:? rl:( br:< n4:# ie:{ mo:| va:) js:) de:> zu:) fl:( ss:| ls:?