Was ist der beste Weg, um eine Nachricht nur für IE 6 und IE 7 anzuzeigen?

11

Wie kann eine Textnachricht nur für IE 6 und IE 7 am besten angezeigt werden?

Sollte ich meinen Webseiten ein HTML-Tag hinzufügen und es normalerweise mit CSS für alle Browser außer den oben genannten ausblenden?

Und wenn ich IE6 IE7 verwende, sollte ich die Website mit CSS ausblenden und nur dieses HTML-Tag anzeigen?

Vielen Dank

aneuryzm
quelle
Ist es Ihr Ziel, IE6 & 7-Benutzer von Ihrer Website fernzuhalten?
John Conde
@ John Conde yeah
aneuryzm
Suchen Sie einen IE 6 & 7-Virus und fügen Sie ihn auf Ihre Seite ein. Wenn sie infiziert werden, haben sie IE, lassen den Virus den Browser entführen und zeigen jedes Mal eine Textnachricht an, wenn sie Ihre Site laden ... Nur ein Scherz! ;)
Itai

Antworten:

0

Es ist schwierig, den Zugriff auf eine Website per Browser einzuschränken, da es keine 100% narrensichere Möglichkeit gibt, dies zu tun.

Ihr erstes Problem ist das Spoofing von Benutzeragenten. Browser können sich mit jedem gewünschten Benutzeragenten identifizieren. Browser mit Erweiterungen scheinen alle einen zu haben , der dies trivial macht. Wenn jemand mit IE6 oder IE7 seinen Benutzeragenten in IE8 oder Firefox geändert hat , wird er auf eine Website geleitet.

Sie können JavaScript verwenden, um dieses Problem mithilfe der Funktionserkennung zu beheben . Grundsätzlich verwenden Sie JavaScript, um einen einfachen Test durchzuführen: Sie überprüfen, ob eine Funktionalität vorhanden ist, die in IE6 oder IE7 nicht vorhanden ist. Wenn nicht, wissen Sie, dass sie es sind. Das Problem dabei ist, wenn sie JavaScript deaktivieren, können sie dies leicht umgehen.

Ein mehrstufiger Ansatz besteht darin, den Browser auf der Serverseite mithilfe seines Benutzeragenten, idealerweise in Apache oder IIS, zu durchsuchen und diese Benutzer auf eine Seite umzuleiten, auf der ihnen mitgeteilt wird, dass Sie ihren Browser nicht unterstützen. Übrigens, das ist höflicher, als nur die Website zu verstecken. Ich würde das mit der JavaScript-Feature-Erkennungsmethode ergänzen. Zwischen den beiden werden Sie alle außer den technisch versiertesten Benutzern fangen und die Chancen stehen gut, dass sie ohnehin nicht IE6 oder IE7 verwenden.

John Conde
quelle
@ John Conde Meine Fragen waren eigentlich nicht, wie man den Browser erkennt, sondern wie man verschiedene Inhalte
anzeigt,
1
Das ist so einfach wie eine Weiterleitung, je nachdem, wie Sie Browser-Sniff wählen. Wenn Sie Apache auswählen, leiten Sie zu einer speziellen Seite in einer .htaccess-Datei weiter. Wenn Sie JavaScript wählen, verwenden Sie window.location. Nur der Versuch, die Website mit CSS auszublenden, macht dem Benutzer immer noch alles verfügbar. Sie können es einfach nicht ohne ein bisschen Mühe sehen. Auf diese Weise entfernen Sie sie vollständig aus dem Inhalt.
John Conde
@ John Conde oh yeah, du hast Recht
aneuryzm
5
Es gibt eine 100% narrensichere Möglichkeit, dies speziell für IE-Browser zu tun. und das sind bedingte Kommentare. Zu sagen, dass es keinen Weg gibt, und dann herauszufinden, wie es mit Benutzeragenten nicht funktioniert, ist keine gute Antwort auf diese spezielle Frage, da dies ohne Benutzeragentenerkennung möglich ist.
Evgeny
2
Ich kann nicht glauben, dass dies als die richtige Antwort gewählt wurde.
Marco Demaio
5

Bedingtes CSS-Kommentieren oder Verwenden der JQUERY-Browsererkennung:

Link zu CSS-bedingten Kommentaren

Link zur Jquery-Browsererkennung

Mit diesen können Sie Stile festlegen, z. B. die Divs des normalen Inhalts ausblenden und die Divs des alternativen Inhalts anzeigen. Oder wir JS, um den Inhalt und die Anzeige zu ändern.

Wenn Sie nur alles für IE6-Benutzer entfernen und ihnen eine Meldung anzeigen möchten, dass sie aktualisiert werden sollen, können Sie das CSS so einstellen, dass alles im Körper ausgeblendet wird, und mit der JQuery-Erkennung einen Alarm auslösen. Es ist hart, sollte aber die meiste Zeit funktionieren, solange sie nicht versuchen, hinterhältig zu sein oder dies zu umgehen. In diesem Fall sind sie wahrscheinlich nicht die Personen, auf die Sie abzielen.

XOPJ
quelle
+1 Die bedingten Kommentare funktionieren in den meisten Fällen am besten, da sie nur von IE-Browsern "verstanden" werden.
Evgeny
1
Wenn Sie die jQuery-Browsererkennung verwenden, um eine Nachricht in IE 6/7 anzuzeigen, ist dies wie der Versuch, durch das Fenster in Ihr Haus einzutreten, anstatt die Tür zu verwenden.
Marco Demaio
Marco, dieser Kommentar ist brillant! Leider ist es eine Wahl, die wir in unserem Toolkit haben, aber ich werde mir immer vorstellen, dass ich jetzt in ein Fenster in meinem Haus klettere. Liebe es!
XOPJ
4

Fügen Sie diese Art von HTML-bedingten Kommentaren zu Ihrer Seiten-HTML-Quelle hinzu

<!--[if IE 6]>
<h1>Hello, u r using IE6, your message here</h1>
<![endif]-->

<!--[if IE 7]>
<h1>Hello, u r using IE7, your message here</h1>
<![endif]-->

<!--[if lt IE 8]>
<h1>Hello you are using a version of IE less than IE8, your message here</h1>
<![endif]-->

Alle oben genannten werden von ALLEN Browsern wie normale HTML-Kommentare übersprungen, mit Ausnahme des IE, der diese analysiert und entsprechend beahve.

Marco Demaio
quelle
0

Also - was ist der Grund, die Website vor ie6 / 7 "verstecken" zu wollen? Wenn es sich um benutzeragentenbezogene Nachrichten handelt, würde ich für bedingte Kommentare stimmen.

Folktrash
quelle
0

Wäre der Grund, warum Sie unterschiedliche Inhalte anzeigen würden, der Grund, warum Sie HTML5 verwenden, das nicht mit IE7 und niedriger kompatibel ist?

Michael GP Moriarty
quelle