¿Cuál es la mejor manera de mostrar un mensaje solo para IE 6 e IE 7?

11

¿Cuál es la mejor manera de mostrar un mensaje de texto solo para IE 6 e IE 7?

¿Debo agregar una etiqueta html a mis páginas web y normalmente ocultarla con CSS para todos los navegadores, excepto los mencionados anteriormente?

Y cuando uso IE6 IE7, ¿debo ocultar el sitio web con css y mostrar solo esa etiqueta html?

Gracias

aneuryzm
fuente
¿Su objetivo es mantener a los usuarios de IE6 y 7 fuera de su sitio web?
John Conde
@ John Conde, sí
aneuryzm
Encuentre un virus IE 6 y 7 y póngalo en su página. Si se infectan, tienen IE, hacen que el virus secuestre el navegador y muestre un mensaje de texto cada vez que cargan su sitio ... ¡Es broma! ;)
Itai

Respuestas:

0

Es difícil limitar el acceso a un sitio web por navegador porque no hay una forma 100% infalible de hacerlo.

Su primer problema es la suplantación de agente de usuario. Los navegadores pueden identificarse con cualquier agente de usuario que deseen. Todos los navegadores con extensiones parecen tener uno que hace que hacer esto sea trivial. Si alguien con IE6 o IE7 cambia su agente de usuario para que sea IE8 o Firefox, entrará en un sitio web.

Puede usar JavaScript para superar ese problema utilizando la detección de características . Básicamente, usa JavaScript para hacer una prueba simple: verifica si existe una funcionalidad que no existe en IE6 o IE7. Si no es así, sabes que son ellos. El problema con esto es que si desactivan JavaScript, pueden evitarlo fácilmente.

Un enfoque de varios niveles sería detectar el navegador en el lado del servidor utilizando su agente de usuario, idealmente en Apache o IIS, y redirigir a esos usuarios a una página que les diga que no son compatibles con su navegador. Por cierto, eso es más cortés que simplemente ocultar el sitio web. Aumentaría eso con el método de detección de funciones de JavaScript. Entre los dos, atraparás a todos, excepto a los usuarios más hábiles técnicamente, y lo más probable es que no estén usando IE6 o IE7 de todos modos.

John Conde
fuente
@John Conde Mis preguntas en realidad no eran sobre cómo detectar el navegador, sino cómo mostrar contenido diferente una vez que el navegador ha sido detectado
aneuryzm
1
Eso es tan fácil como una redirección, dependiendo de cómo elija oler el navegador. Si elige Apache, redirija a una página especial en un archivo .htaccess. Si elige JavaScript, use window.location. Solo tratar de ocultar el sitio web con CSS todavía hace que todo esté disponible para el usuario. Simplemente no pueden verlo sin un poco de esfuerzo. De esta forma, los quitas del contenido por completo.
John Conde
@ John Conde oh sí, tienes razón
aneuryzm 01 de
55
Hay una manera 100% infalible de hacerlo, específicamente para los navegadores IE. y eso es comentarios condicionales. decir que no hay forma, y ​​luego explicar cómo no funcionará con los agentes de usuario no es una buena respuesta a esta pregunta en particular, ya que se puede hacer sin la detección del agente de usuario.
Evgeny el
2
No puedo creer que esto haya sido elegido como la respuesta correcta.
Marco Demaio
5

Comente CSS condicional o use la detección del navegador JQUERY:

Enlace a comentarios condicionales CSS

Enlace a la detección del navegador Jquery

Con estos, puede establecer estilos como ocultar los divs de contenido normal y mostrar los divs de contenido alternativo. O usen JS para alterar el contenido y cómo se muestra.

Si está buscando eliminar todo para los usuarios de IE6 y mostrarles un mensaje diciéndoles que se actualicen, puede configurar el CSS para ocultar todo dentro del cuerpo y lanzar una alerta de carga con la detección de jquery. Es duro, pero debería funcionar la mayor parte del tiempo siempre que no estén tratando de ser astutos o evitar esto. En cuyo caso, probablemente no sean las personas a las que se dirige.

XOPJ
fuente
+1 los comentarios condicionales funcionarán mejor en la mayoría de los casos, ya que solo los navegadores IE los "entienden".
Evgeny el
1
Usar la detección del navegador jQuery para mostrar un mensaje en IE 6/7 es como intentar ingresar a su casa a través de la ventana en lugar de usar la puerta.
Marco Demaio
Marco ese comentario es genial! Lamentablemente, es una opción que tenemos en nuestro juego de herramientas, pero ahora siempre lo imaginaré como subir a una ventana de mi casa. ¡Quiéralo!
XOPJ
4

Agregue este tipo de comentario condicional HTML en la fuente HTML de su página

<!--[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]-->

Todo lo anterior será omitido como comentario HTML normal por TODOS los navegadores, excepto IE, que los analizará y se comportará en consecuencia.

Marco Demaio
fuente
0

Entonces, ¿cuál es la razón para querer "ocultar el sitio web" de ie6 / 7? si se trata de mensajes específicos del agente de usuario, votaría por los comentarios condicionales.

folktrash
fuente
0

¿la razón por la que mostrarías contenido diferente es la razón por la que estás usando HTML5, que no es compatible con IE7 y versiones anteriores?

Michael GP Moriarty
fuente