Ashura: "window.location.href" streikt in Netscape und Firefox

Beitrag lesen

Hallo molily.

Den Punkt erkenne ich prinzipiell an. Den Hinweis in allen Ehren, aber ich halte ihn bei der Frage, wie man am besten Opera erkennt, für nicht relevant.

Gut, ich muss zugeben, dass er in der Tat nicht wirklich hilfreich ist.

[...] window.opera wurde genau deshalb geschaffen: Damit die Webautoren keine Erkennung über irgendwelche Objekte durchführen müssen, von denen man *momentan* zu wissen *glaubt*, ihre Existenz bedeute zwangsläufig die Verwendung des Opera-Browsers.

Wurde es das? Bei der Suche danach finde ich nur massenhaft Abfragen desselben. Gibt es das irgendwo in nachlesbarer Form?

Selbst wenn man beachtet, dass vielleicht einer unter hunderttausend Besuchern das window.opera-Objekt gefälscht hat, ist daher window.opera immer noch zuverlässiger und zukunftssicherer.

Ja, das stimmt.

Im übrigen finden sich in der verlinkten Tabelle, soweit ich das sehe, kein einziges Merkmal, anhand dessen man eindeutig Opera erkennen könnte. Also muss man mehrere positive und negative Merkmale testen. Das scheint nicht kompliziert, aber Komplexität bedeutet hier Fehleranfälligkeit.

Auch hier gebe ich dir Recht.

Kristof stellt z.B. folgende Erkennung vor, die ohne window.opera auskommt:
if (!window.pkcs11 && !document.defaultCharset && !document.createRange) { alert("der Browser kann nur ein Opera sein"); }
Wunderbar, mit der Veröffentlichung von Opera 8 war diese Erkennung obsolet.

Zu meiner Freude, muss ich anmerken.

Setzt man sie ein, produziert sie bei Opera-8-Benutzern falsche Resultate.

Nein, die Resultate sind dementsprechend korrekt, die abgefragten Objekte versteht Opera 8 ja.

Man kann nie wissen, ob ein Browser bestimmte Objekte irgendwann implementiert, und sei es auch nur zum Schein.

Die Existenz eines JS-Objektes zum Schein konnte ich in Opera bisher nicht feststellen. Wenn du mehr weißt, kläre mich bitte auf.

Daher ist window.opera prinzipiell verlässlicher und ich halte es für unbegründet, anesichts der zu vernachlässigenden Benutzer-JavaScripts zu einer Alternativmethode zu raten.

Ja, ich gebe zu, dass meine Hinweise--nicht nur hier--an manchen Stellen nicht wirklich auf dem Weg zum Ziel hilfreich sind. Meist merke ich dies nach dem Schreiben auch selbst. Hier wollte ich am ehesten meinen Standpunkt gegenüber Browserweichen ausdrücken. Sie sind nicht verlässlich und werden es auch sicher niemals sein. Dass sie aber dennoch an manchen Stellen einfach unumgänglich sind, habe ich hierbei aber außer Acht gelassen. (Ich setze selbst einige Star-HTML-Hacks für den IE ein.)

Mein Fehler.

Gruß, Ashura

--
Selfcode: sh:( fo:) ch:? rl:( br:^ n4:& ie:{ mo:) va:) de:> zu:) fl:( ss:| ls:[ js:|
30 Days to becoming an Opera8 Lover -- Day 19: Notes
Meine Browser: Opera 8.0 | Firefox 1.0.4 | Lynx 2.8.3 | Netscape 4.7 | IE 6.0
[Deshalb frei! - Argumente pro freie Software]