Browsererkennung ist schlecht

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Und hier ist warum

Es widerspricht dem Geist der Webstandards

Der eigentliche Grund, warum Webstandards existieren, ist, dass wir keinen spezifischen Code für spezifische Umgebungen schreiben müssen. Wir sollten Code schreiben, der etablierte Standards einhält, und die Software, die für die Anzeige unseres Codes zuständig ist, sollte ihn so anzeigen, wie es die Standards vorschreiben.

Es stützt sich auf den User-Agent-String des Browsers

...was eine köstlich-desaströse Geschichte hat und leicht zu fälschen ist.

Es kann Geräte behindern

Beispiel: Sie erkennen das iPhone und liefern spezielle Inhalte aus. Nun kann das iPhone die Webseite nie so sehen, wie andere Browser sie sehen, obwohl es dazu vollkommen fähig wäre.

Warum tun wir es dann?

Wir tun es, weil verschiedene Browser Dinge unterschiedlich handhaben und Browsererkennung uns aus der Patsche helfen und Dinge so funktionieren lassen kann, wie sie sollten. Man kann uns das kaum verdenken, oder?

Oft sind die Situationen, die uns dazu bringen, auf Browsererkennung zurückzugreifen, wutentbrannt. Aber denken Sie daran, dass oft nicht der Browser schuld ist. Selbst im Fall von IE 6 war er zum Zeitpunkt seiner Veröffentlichung der standardkonformste und fortschrittlichste Browser. Und einige der Standards, die wir heute haben, waren zu dieser Zeit noch nicht vollständig.

Was sollten wir stattdessen tun?

Ich bin die Erste, die zugibt, dass das reale Webdesign manchmal schnelle Lösungen, budgetgerechte Lösungen und das Sicherstellen, dass Funktionen wie beabsichtigt funktionieren, erfordert. Das erlaubt nicht immer altruistische Entscheidungen, die auf einige Funktionalitäten verzichten, weil es das "Richtige" ist.

Idealerweise...

...würden wir **Funktionsprüfungen** durchführen. Das sind die Informationen, die wir wirklich brauchen, oder? Testen, ob die Umgebung, in der wir uns befinden, zu dem fähig ist, was wir tun wollen. Wenn ja, tun wir es. Leichter gesagt als getan, da bin ich mir sicher, und ich selbst wüsste kaum, wo ich anfangen sollte. Aber ich bin mir sicher, einige von euch sind sehr kluge Leute und können das schaffen (oder tun es bereits!)

Mehr

Hier ist ein bisschen über Funktionsprüfung von Quirksmode. Und hier ist Dave Shea mit einem guten Beispiel dafür, warum Browsererkennung nicht gut ist.