Browserabfrage

hi,

da selbst profis wie Google (z.B. YouTube) Browser wie IE6 nichtmehr supporten,
werde ich es nun auch ganz einfach so machen.

Ich habe öfters überlegt ob es richtig ist,
das einfach so zu lösen und sich garnicht erst drum zu kümmern, dass dieser Browser die Website anzeigt.

Da es aber selbst YouTube so macht und die ja nun wirklich eine der größten und meistbesuchtesten Websites der Welt ist, habe ich da keine Bedenken.

Ich möchte ganz einfach, dass wenn ein Benutzer die Seite mit dem Internet Explorer 6 besucht ein spezieller Content angezeigt wird. D.h. es wird garnicht erst die Seite geladen, sondern es kommt ein anderer Inhalt, in meinem Fall wäre das eine ganz einfache Grafik, also blos ein <img … Tag.

Doch wie mache ich eine Browserabfrage? Sodass wenn jemand mit IE6 online geht die Meldung kommt, jedoch bei keinem anderen Browser?

Liebe Grüße
Jan

Das ist eigentlich unsinnig.

Wenn der IE 6 mit der Darstellung so grosse Probleme haben sollte, dass die Seite dadurch unbenutzbar wird - dann lässt man die Formatierung halt einfach komplett weg. Dann sollte sie zumindest nutzbar sein, wenn man halbwegs vernünftiges HTML geschrieben hat.

Das geht per Conditional Comments.
(Das andere natürlich auch - aber wie gesagt, sinnvoll ist es eigentlich nicht.)

-> cssprofi.bplaced.net/tricks.html#browser

Bitte richtig durchlesen und anwenden… aussperren ist, vorsichtig ausgedrückt, unhöflich - bisweilen sogar dumm.
Mit der angebotenen Lösung bekommst Du aber eine vernünftige Darstellung auch in alten IE-Varianten hin.

chrisb hat es schon auf den Punkt gebracht. Wenn es nicht nur um den IE geht,
kann man sich hier
http://www.browser-update.org/
einen dezenten Hinweis einblenden lassen. Es lohnt sich auch mal das JS zur Ermittlung
der Browserversionen anzuschauen.

Pit

[quote=“pit”]Es lohnt sich auch mal das JS zur Ermittlung
der Browserversionen anzuschauen.
[/quote]
Wozu?
Erstens: nicht jeder Browser hat JS aktiviert.
Zweitens: selbst wenn doch: schonmal in einem Firmennetzwerk (ohne erlaubnis der IT) versucht, irgendein Programm zu installieren / zu aktualisieren?
Und drittens: diese “Informationsleiste” wird erfahrungsgemäß ignoriert…

Nochmal - und diesmal (bewusst) etwas provokativer gefragt:
Wer glaubst Du, das Du bist, dass Du Deinen Besuchern glaubst vorschreiben zu können, welchen Browser sie gefälligst zu verwenden haben?!

Entweder Du stellst die Informationen plattformunabhängig zur Verfügung - oder Du verzichtest auf die Besucher.
Nur wegen Dir bzw. Deiner Seite wird kein Einziger ein Update vornehmen.
Garantiert nicht.
Egal, wie “wichtig” die Inhalte sein mögen.

@Jan:

Sollte Deine Seite ähnliche Besucherzahlen und ähnliche Bedeutung wie youtube haben, gebe ich Dir recht.
Ach, Du bist nicht so bekannt wie die…?

Na ja, dann… hätte ich schon Bedenken :wink:

Soweit ich weiß (kenne mich mit dem MSIE nicht wirklich aus,
da der auf den von mir genutzten Rechnern nicht installiert ist),
hat der hinsichtlich HTML+CSS vor allem das Problem, daß der
Nutzer das CSS nicht einfach deaktivieren kann, wenn es da
Probleme mit der Anzeige gibt.
Da hilft es natürlich, wenn man einen alternativen CSS-Stil
anbietet, wo die externe CSS-Datei im Zweifelsfalle leer ist.
Da auch der beim MSIE nicht intern auswählbar ist, ist es besser,
wenn man die Stilauswahl auf der Seite einfach mit dem
a-Element anbietet.

Bei einem ordentlichen strukturierten HTML-Dokument sollte
es auch bei veralteten browsern wie dem MSIE oder netscape4
keine großen Probleme geben, sonst ist der Autor einfach unfähig.
Insofern gibt es da keine Notwendigkeit, Leute auszusperren, man
kann allenfalls mit ‘conditional comments’ darauf hinweisen, daß
man mit einem technisch aktuellen browser eine schönere
Varianten angucken kann.

Bei XHTML+CSS gibt es indes bereits das Problem, daß der MSIE
gar kein XHTML versteht, da kann allenfalls der Anwender die
Voreinstellungen so wählen, daß der MSIE für application/xhtml+xml
automatisch ein passendes Programm wählt wie Opera oder
einen Gecko oder Safari.
Hat man da eine Notversorgung für alte browser etwa per PHP
so eingerichtet, daß dann eben der Kram doch als text/html
ausgeliefert wird, so sollte es ja nicht schwerfallen, in dem Falle
einfach die XML-Stilvorlagenverarbeitungsanweisung oder eben
das link-Element mit dem Verweis zur CSS vor der Auslieferung
aus dem Dokument zu nehmen.

Insofern sind alte browser durchaus handhabbare Probleme, weil
die den Teilbereich von HTML4 hinreichend interpretieren, den
aktuelle browser auch interpretieren können, da sind die
Fortschritte in den letzten 10 Jahren minimal, insofern muß man
das mit alten browsern nicht testen, die können das ausreichend
und HTML ist so konstruiert, daß sinnvoller Inhalt angezeigt wird,
wenn der Autor das Dokument sinnvoll strukturiert hat und die
Möglichkeiten von HTML (etwa bei object und iframe) nutzt, um
gegebenenfalls alternative Inhalte für kritischen Kram anzubieten.

Es wäre also schlecht, Nutzer alter browser auszuschließen, nur
weil man als Autor selbst keine Ahnung hat, wie man eine Seite
so strukturiert, daß die ohne korrekt interpretiertes CSS oder
java-script einen Sinn ergibt ;o)

Bei YouTube habe ich auch mit technisch aktuellen browsern noch
nie eine sinnvoll funktionierende Seite gesehen. Die scheinen also
einfach unfähig zu sein und liegen damit vielleicht im Durchschnitt
der Autoren, sind aber sicher kein Maßstab dafür, wie man das
richtig macht. Aussperren von Leuten ist immer assozial, internet
ist für alle da.

Danke schonmal bisher!
Aber was hat das mit den Besucherzahlen zutun?

Ich meine, YouTube hat soviele Besucher, wenn die die Tür im IE6 zu machen,
dann sperren die wohl etliche User aus, ich finde es gerade bei YouTube ehr dumm sowas zu machen, weil es sicher noch unmengen gibt die mit IE6 auf YouTube online sind.

Liebe Grüße
Jan

Wenn eine “wichtige” Seite sowas macht (wie wichtig youtube ist, mag jeder für sich selbst entscheiden) - dann bringt das sicher einige von den Nutzern, die aus purer “Faulheit” noch mit dem IE 6 surfen, zum upgraden.

(Die, die nicht upgraden können, befinden sich meist wohl sowieso eher in Umgebungen, in denen youtube keinen primären Nutzungszweck des Internetzugangs darstellt - Firmen-, Uni-, sonstiges Netzwerk.)

Ausserdem lag bei yuotube die Entscheidung wohl auch mehr im JS-Bereich begründet - der Aufwand, den man da teilweise betreiben muss, um zum IE 6 kompatibel zu bleiben, kann schon erheblich höher sein als es der ist, einfach zu sagen, "IE 6 kommt mit den CSS-Formatierungen nicht klar, also schau es dir in diesem Browser halt ganz ohne an."
In so fern ist in dem Fall ein “Aussperren” immer noch begründbar.

[quote=“i.deFix”][quote=“pit”]Es lohnt sich auch mal das JS zur Ermittlung
der Browserversionen anzuschauen.
[/quote]
Wozu?
Erstens: nicht jeder Browser hat JS aktiviert.
Zweitens: selbst wenn doch: schonmal in einem Firmennetzwerk (ohne erlaubnis der IT) versucht, irgendein Programm zu installieren / zu aktualisieren?
Und drittens: diese “Informationsleiste” wird erfahrungsgemäß ignoriert…

Nochmal - und diesmal (bewusst) etwas provokativer gefragt:
Wer glaubst Du, das Du bist, dass Du Deinen Besuchern glaubst vorschreiben zu können, welchen Browser sie gefälligst zu verwenden haben?!
[/quote]

  1. Mit dem Bezug auf crisb wollte ich mir viele Worte sparen, dehalb vorweg:
    1.1. Webseiten sollten so gestaltet werden, dass sie vernünftig angezeigt werden, unabhängig von Browser und Version.
    1.2. Wenn spezielle Inhalte mit älteren IE-Versionen Probleme verursachen, sind Conditional Comments ein Mittel, um diese Probleme auch ohne JS zu lösen.
  2. Der von mir gepostete Link schreibt nicht vor welcher Browser benutzt werden soll, sondern gibt nur bei veralteten Versionen den Hinweis aus, dass eben die benutzte Version veraltet ist und bietet über einen Link Updatemöglichkeiten an.
    Über den ‘Nutzen’ einer solchen Informationsleiste kann man sicher geteilter Meinung sein, zumal einige Browser Updates von sich aus anbieten.
  3. Möchte jemand nun gar nicht auf Effekte verzichten, die erst ab bestimmten Browserversionen laufen, dann könnte die Ermittlung der Browserversion des Nutzers von Interesse sein und ein Blick in den Script sich lohnen.

Pit

Lasst das doch bitte das Problem von Jan sein :ps:

Die Lösung für dein ursprüngliches Problem ist ganz einfach mit PHP über den User-Agent lösbar:
at.php.net/manual/de/tutorial.useful.php

<!-- anfang -->

<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE 6.0') !== FALSE): ?>
  <p style="color: red">Diese Webseite ist leider nicht mit dem Internet Explorer 6.0 kompatibel. Bitte ... </p>
<?php endif; ?>

<!-- und der Rest der Seite... -->

Sorry, aber das ist Unsinn. Im User Agent String kann beliebiges drinstehen.

Und selbst wenn wir davon ausgehen, dass der Durchschnittsuser kein “Fachmann” ist, der diesen in seinem Browser umstellen würde, gibt es auch Firewalls, Proxies, Filtersoftware etc., die diesen Wert aus Gründen der Privatsphäre aus dem Request herausfiltern oder ihn manipulieren.

[ol]
[li]Das ist keinn Unsinn, in der absoluten Mehrheit der Fälle wird der User Agent nicht verändert, und wenn dann nicht in Richtung MSIE6 :ps:[/li]
[li]Eine Firewall die mir Ungefragt meine HTTP-Headers ändert hau ich gleich auf den Müll[/li]
[li]hat eine Veränderung des User-Agents nichts mit Privatsphäre zu tun, es sei denn man schämt sich für den Verwendeten Browser[/li][/ol]

Veränderst du deinen User Agent aus sinnvollen Gründen? :astonished:

Doch, ist es - für den hier vorliegenden Zweck ist der UA absolut ungeeignet.

Du vielleicht - andere Nutzer nicht. Viele dürften es nicht mal bemerken.

Auch das mag deine Ansicht sein - ist aber für die vorliegende Thematik uninteressant.

Ja, ab und zu. Wenn ich auf eine Seite stosse, die meint, mein Browser könne nicht alles sinnvoll darstellen - und diese Seite für diese Entscheidung blödsinnigerweise den UA nutzt.

Ist es nicht sogar so, dass manche Browser es schon anbieten, den zu verändern? Ich kann mich an die Möglichkeit bei manchen Browsern erinnern, sich als anderne Browser auszugeben?! Kenne mich da nicht aus, wie das realisiert wurde aber ich denke, dass ist wohl die Änderung des Useragents?!
Gruß
sbbaus

Hier noch eine Lösung des ursprünglichen Problems mit Conditional Comments (wie bereits von crisb vorgeschlagen) mit sofortiger Weiterleitung nur für den IE6 auf eine Seite ‘spezial_ie6.html’ .

<!--[if IE 6]>
<meta http-equiv="refresh" content="0; URL=spezial_ie6.html">
<![endif]-->

Bei den browsern, wo man die Angabe des user-agent
komfortabel manipulieren kann (Opera und Konqueror etwa),
ist der MSIE6 sogar in der Vorauswahl. Mal abgesehen davon,
daß der MSIE sich selbst als netscape4 ausgibt, ist eine
manipulierte Angabe als MSIE6, der sich als netscape4 ausgibt,
sicher die häufigste Variante, die da auftritt. Was auch daran
liegt, daß irgendwann mal irgendwelche Deppen Leute
ausgesperrt haben (oder es versucht haben), die keinen MSIE
benutzen, wie es davor Deppen gegeben hat, die Leute
ausgesperrt haben, die kein netscape4 verwenden.
Insofern ist das Aussperren von browsern die eigentliche Ursache
dafür, warum die Angaben zum user-agent regelmäßig
manipuliert sind und somit selbst nur statistische Auswertungen
höchst zweifelhaft bis unsinnig sind. Davon den Inhalt abhängig
zu machen, ist noch unsinniger.
Ich meine, microsoft hat mal Millionen an Opera zahlen müssen,
weil die das eine zeitlang beim Opera-browser gemacht haben.
Diskriminierung kann also auch gerichtliche Folgen haben …

Da nach dem Selbstverständnis von (X)HTML der Inhalt weder
von CSS noch von java-script abhängen kann, ist es für den
Zugang zum Inhalt egal, ob oder wie ein browser diese
zusätzlichen dekorativen Formate interpretiert.
Insofern gibt es da keinen Grund, besonders auf den browser oder
die Version zu achten.
Sollte dem bei einem Projekt nicht so sein, so haben die Autoren
da das Grundprinzip der verwendeten Sprachen nicht verstanden
und sind offenbar unfähig, Inhalte im internet sinnvoll mit
(X)HTML anzubieten, daher sollten die auch von vorne herein gar
kein (X)HTML verwenden…
Der größte Teil der Probleme mit HTML5 liegt darin begraben,
daß es zahlreiche Autoren gibt, die (X)HTML überhaupt nicht
verstanden haben und das Format durch die Veröffentlichung von
Blödsinn korrumpieren.