para internet instalar gratis internet-explorer internet-explorer-8

internet-explorer - instalar - internet explorer 9



¿Cómo puedo mostrar un mensaje a los navegadores IE6/IE7 para actualizar a IE8 y que IE8 no muestre la advertencia de IE7? (13)

¿Ha terminado esta fiesta? > <

Lo es, pero creo que la información aquí se puede actualizar un poco.

Para los estándares actuales, "hoy" es el 29 de octubre de 2013, puede usar esta metaetiqueta para activar los últimos modos de navegador y documento de IE y activar la instalación de Chrome Frame de Google en IEs anteriores:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">

Esto le permite a los servidores de IE6 / 7 estilos específicos. Tenga en cuenta que estoy diciendo ''estilos'' no ''hojas de estilo'', lo que significa que solo usaría un único archivo CSS y en él están todos sus estilos IE6 e IE7. Esto es para minimizar las solicitudes HTTP ... pero esa es una conversación totalmente diferente.

De todos modos, con el fragmento de arriba no hay necesidad de scripts o comentarios condicionales.

Nota: Google Chrome Frame se retirará en enero de 2014. Más información aquí .

Solo quiero permitir que usuarios con IE8 (no IE6, IE7) u otro navegador accedan a mi sitio cuando inicien sesión.

Seguí: http://code.google.com/p/ie6-upgrade-warning/ Pero también quería que no permitiera a los usuarios de IE7 usar el sitio principal al iniciar sesión (pueden ver páginas públicas). La razón es que la aplicación web principal tiene muchos efectos JavaScript que solo funcionarán al 100% en el modo de renderización IE8 (o cualquier otro navegador además de IE).

El problema con la modificación de la advertencia de actualización ie6 es ie7, es que parecía que IE8 mostraba mi página web en un modo de renderización IE7 y "mentía" acerca de ser ie7 y activaba el código de la hoja de estilos IE7.

Entonces, ¿cómo puedo obligar a IE8 a renderizar siempre mi página en modo IE8?


Aquí está este genial script que funciona para todos los navegadores antiguos:

<script type="text/javascript"> var $buoop = {vs:{i:7,f:5,o:12,s:5,n:9}}; $buoop.ol = window.onload; window.onload=function(){ try {if ($buoop.ol) $buoop.ol();}catch (e) {} var e = document.createElement("script"); e.setAttribute("type", "text/javascript"); e.setAttribute("src", "//browser-update.org/update.js"); document.body.appendChild(e); } </script>

Nota: Si el visitante ignora el consejo, no aparecerá de nuevo durante un tiempo.

Se puede encontrar más: here


Como se ha mencionado, sugeriría que la mejor manera de lograr esto es usar comentarios condicionales para incluir una hoja de estilo específica para todas las versiones de IE anteriores a 8:

<!--[if lt IE 8]> Include CSS here <![endif]-->

El CSS incluido podría establecer una advertencia para que sea visible o quizás habilitar una superposición en la página que ''bloquee'' a los usuarios. Puede ser una buena idea incluir algunas reglas que oculten elementos importantes en la página que de otra manera podrían confundir al usuario si no funcionan como se esperaba.

Su otra opción es redirigir al usuario a otra página. No soy un gran fanático de los redireccionamientos, pero si se usan con cuidado, pueden ser una solución adecuada.

¿Ha considerado por qué está bloqueando una gran cantidad de usuarios fuera de su sitio? Tal vez deberías tomarte el tiempo para pensar cómo degradar con gracia tu JavaScript, o al revés; ''mejorar progresivamente'' con JavaScript.

Por otro lado, es posible que tenga control sobre los sistemas utilizados por la organización que usa su sitio, en cuyo caso probablemente esté bien bloqueando a las personas por usar sistemas no estándar.


Corrección al ejemplo de AdamSane:

<!--[if lt IE 8]> Special instructions for IE 7 or less here <![endif]-->


Depende de cómo hayas codificado tu (X) HTML, pero IE8 debería usar el modo estándar (no el modo IE7) si tienes un tipo de documento estricto como:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

en la parte superior de tus archivos HTML.

XHTML 1.0 Specs - Documentos estrictamente conformes

Aquí hay una buena publicación sobre cómo diferentes doctypes / etc afectan el modo de renderización de IE8: comprensión de los modos de compatibilidad en Internet Explorer 8


En lugar de intentar forzar el modo IE 8+, utilizo una combinación de comentarios condicionales y una simple comprobación de javascript. La propiedad document.documentMode se agregó a IE en la versión 8, por lo que si existe (independientemente del valor, aunque TIENE que ser 7 con este código) significa que estamos en modo de compatibilidad y no deberíamos mostrar la advertencia:

<!--[if lte IE 7]> <script> if (!document.documentMode) { //if documentMode exists, this is a later IE in compatibility mode showBadBrowserMessage(); } </script> <![endif]-->


La sola idea de que estás "prohibiendo" a los usuarios de IE 6 y 7 desde tu sitio web es ridícula. Mucha gente no puede actualizar su navegador o instalar otro debido a restricciones de trabajo o porque no saben cómo hacerlo. Si no se les permite a estas personas usar su sitio, solo les costará a los usuarios a largo plazo.

Reparar el código JavaScript, solucionar los problemas o degradarlo correctamente para que el sitio funcione bien incluso si está apagado.

EDITAR: Publiqué más información en un comentario a continuación, que realmente debería estar en esta publicación:

A menudo es posible detectar IE y evitarlo. Demonios, incluso puedes usar comentarios condicionales para cargar una versión diferente de JavaScript. El uso de un marco JS resumirá las diferencias entre los navegadores a un nivel que no necesita preocuparse. O solo agarra IE7.js y pega eso en el sitio, he escuchado que las cosas funcionan como si no te creyeras.


Personalmente recomendaría a los usuarios actualizar IE por razones de seguridad. Utilizaría un comentario condicional para los navegadores de destino debajo de IE8.

<!--[if lt IE 8]>You are using an outdated version of Internet Explorer. For security reasons you should upgrade your browser. Please go to Windows Updates and install the latest version.<![endif]-->

Este mensaje debe ser discreto pero elegante. También debe hacer que el sitio web sea utilizable para aquellos que no pueden actualizar sus navegadores.


Probablemente la mejor manera sería detectar la cadena de User-Agent del navegador del usuario y redirigirlos a una página solicitándoles que actualicen (o descarguen un navegador diferente como firefox o chrome) si están usando una versión anterior de IE. Puede ver ejemplos de los agentes de usuario de IE 7 y 8 en esta entrada de blog de desarrollador de IE . Las versiones anteriores de IE siguen un patrón similar.

Una cosa que no debe hacer, sin embargo, es suponer que cualquier cadena de agente de usuario que no sigue un determinado patrón no es válida. Simplemente compruebe si hay MSIE ([0-9]) y vea si está dentro del alcance; si falta por completo, supongamos que el navegador es compatible. Si se trata de MSIE 7, luego verifique si el marcador Trident indica el modo de compatibilidad (y, supongo, solicite al usuario que lo desactive). Esto permitirá que otros futuros navegadores advenedizos tengan una oportunidad de luchar para renderizar su página sin rechazarla en la puerta :)


Puede usar CSS Comentarios Condicionales

<!--[if IE 8]> Special instructions for IE 6 here <![endif]-->


Usa esta etiqueta:

<meta http-equiv="X-UA-Compatible" content="IE=8" />


Usando javascript puedes preguntar qué navegador ha enviado la solicitud>

<script type="text/javascript"> function detectBrowser() { var browser=navigator.appName; var b_version=navigator.appVersion; var version=parseFloat(b_version); if (browser=="Microsoft Internet Explorer") && (version>=8)) { alert("Your browser is good enough!"); } else { alert("It''s time to upgrade your browser!"); } } </script>