html content= - Forzar el modo de navegador "Internet Explorer 8" en la intranet




ie=edge chrome=1 (12)

Si está usando .NET, tengo la respuesta para usted:

HTML :

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="X-UA-Compatible" content="IE=8" >

Web.Config:

<system.webServer>
    <httpProtocol>
      <customHeaders>
        <clear />
        <add name="X-UA-Compatible" value="IE=8" />
      </customHeaders>
    </httpProtocol>

Existen "Internet Explorer 8", "Modo de compatibilidad de Internet Explorer 8" y el modo IE7 en IE8.

Sin embargo, la configuración predeterminada en IE hace que todo el uso del sitio web de la intranet "Modo de compatibilidad IE8" incluso he establecido doctype, la metaetiqueta, el encabezado http como se sugiere para forzarlo al modo IE8.

yo tengo

<! DOCTYPE HTML PUBLIC "- // W3C // DTD HTML 4.01 Transicional // ES" " http://www.w3.org/TR/html4/loose.dtd ">

y

<meta http-equiv = "X-UA-compatible" contenido = "IE = 8">

Pero todavía entra en el "Modo de compatibilidad IE8", sin ningún cambio en la configuración de IE.

¿Cómo forzarlo a entrar en el modo "IE8" puro, sin cambiar la configuración de ningún navegador?

PD. No estoy hablando de "modo de documento" aquí.


Para que la declaración META funcione, el doctype tiene que ser la versión simplificada:

<!DOCTYPE html>

No es la declaración más larga en la pregunta de Dennis.


Lea en algún lado que la declaración DOCTYPE debe ser la primera línea . No hay comentarios de ningún tipo, ni líneas vacías.

En combinación con la configuración de los encabezados de respuesta HTTP, esto funcionó para mí. Browser Mode pasó de "Modo de compatibilidad IE9" a solo "Modo IE9".


La respuesta marcada como "correcta" es técnicamente correcta, pero sugiere que no existe una solución al problema real que enfrenta la mayoría de la gente: "¿Cómo puedo mostrarme correctamente en IE8, con el modo de compatibilidad habilitado, una aplicación web que no admite ¿modo de compatibilidad?".

<!DOCTYPE HTML>
<HEAD>
    <meta http-equiv="X-UA-Compatible" content="Edge" >
</HEAD>

esto funcionó para mí en varias estaciones de trabajo.

Si el código anterior se implementa en el lado de la aplicación, parece que IE8 se comporta como si no estuviera en modo de compatibilidad, aunque seguirá mostrando el modo de navegador como modo de compatibilidad.


Encontré las respuestas aquí difíciles de seguir, así que aquí está la información importante en pocas palabras:

Si su intranet usa la configuración predeterminada para IE, el Modo de estándares IE7 se aplica a los sitios de intranet, independientemente de la configuración del sitio web.

De this :

Vista de compatibilidad y la empresa

Hoy en día, un gran número de sitios web de líneas de negocio son compatibles con Internet Explorer 7. Para preservar la compatibilidad, Internet Explorer 8 se envía con los valores predeterminados inteligentes según la evaluación de la zona. En el estado predeterminado, todos los sitios en la pantalla pública de Internet aparecen en el modo Estándares de Internet Explorer 8 (Vista de compatibilidad desactivada) y todos los sitios web de Intranet aparecen en el modo Estándares de Internet Explorer 7 (Vista de compatibilidad activada).

Veamos algunos ejemplos. Si navega a sitios en su intranet local como http: // myPortal y http://sharepoint/sites/mySite , Internet Explorer 8 se identifica con una cadena de 'User Agent' de '7', Vector de versión de '7' y muestra páginas web que activan el modo estándar en el modo de estándares de Internet Explorer 7. Esta combinación permite que las páginas web que funcionaron correctamente en Internet Explorer 7 continúen haciéndolo en IE8.


Necesita eliminar el número de puerto del sitio del nombre del sitio de su dominio: 1180 / index /

Si el navegador ve el número de puerto en url - hola "pensar", eso es intranet.

configura tu servidor DNS para las URL amigables - site.com/index y funciona bien


HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ BrowserEmulation IntranetCompatibilityMode 1 -> 0


Es posible anular el modo de compatibilidad en intranet. Simplemente agregue el siguiente código a la web.config. Trabajé para mí con IE9.

<system.webServer>
<httpProtocol>
  <customHeaders>
    <clear />
    <add name="X-UA-Compatible" value="IE=edge" />
  </customHeaders>
</httpProtocol>


Este combo hizo el truco para mí:

<!DOCTYPE HTML>
<HEAD>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" >
</HEAD>

al menos las herramientas de desarrollador de IE informan IE9 Compat View, estándares IE8

solo por las patadas que probé EmulateIE7 y que funcionó también. simplificando el extendido! DOCTYPE era la clave.


Parece que MSFT no ha considerado un gran entorno de intranet en el que tenemos muchas aplicaciones web diferentes ejecutándose.

No hay forma de eludir la configuración de IE8, según un sitio que haya leído en el foro de MSDN.

Por lo tanto, tendré que pedirle a los administradores de mi sistema que agreguen algunas nuevas políticas de grupo para cambiar la configuración de "Vista de compatibilidad" y el valor y evitar que el usuario cambie el valor, hasta que MSFT descubra este error y lo solucione.

Desde una publicación de blog de MSDN (énfasis en ellos): "El modo navegador se elige antes de que IE solicite contenido web . Esto significa que los sitios no pueden elegir un modo de navegador" .


Tendrás que hacer algunos ajustes en IE.

Aquí están.....

En Opciones de Internet / Intranet Local / Sitios

En: Intranet local dentro de los sitios, desmarque "Detectar automáticamente la red de intranet".

A continuación, seleccione solo "Incluir todas las rutas de red (UNC)

Ver capturas de pantalla adjuntas


Prueba el siguiente css:

html {
    min-height: 100%;
    margin: 0;
    padding: 0;
}

body {
    height: 100%;
}

#right {
    min-height: 100%;
}






html internet-explorer-8 ie8-compatibility-mode x-ua-compatible ie8-browser-mode