2012-07-17 14 views
8

Soy consciente de cómo obligar a IE a ver una página en compatibilidad de documentos, pero ¿qué hay de compatibilidad con el navegador ver?Forzar IE9 en la compatibilidad del navegador ver

Tengo un proyecto que solo funciona cuando IE9 está en el navegador vista de compatibilidad por varias razones, pero no encuentro ningún recurso sobre cómo forzar IE9 a hacerlo.

Todo el mundo solo habla de forzar la compatibilidad del documento , p. utilizando

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

Pero eso no funciona en mi caso, ya que sólo establece la vista documento. ¿Hay alguna manera de configurar el vista de navegador, también?

PS: Para que sea más claro, este es el valor que necesito para hacer cumplir:

Browser Compatibility http://img513.imageshack.us/img513/8589/browsercomp.png

Respuesta

8

Ver MSDN documentation.
Debe utilizar EmulateIE7 desde el modo de compatibilidad es tipo de IE7:

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

Editar

Si lo anterior no funciona, el other options son realmente pobres.
Citando el enlace anterior:

  • Microsoft no ha colocado el nombre de dominio del sitio en una lista negra. (la lista negra vinculada en el artículo original es muy antigua y no se actualiza, puede encontrar una copia local en su computadora)
  • Un administrador de intranet no ha colocado el sitio en una lista negra.
  • El usuario no ha presionado el botón Vista de compatibilidad (la)
  • El sitio no está en la zona de intranet
  • La página no está enmarcada por una página de modo de compatibilidad.

Las anteriores son, AFAIK, las únicas causas para el modo de compatibilidad.
A menos que esté dispuesto a contactar a Microsoft directamente para agregar su sitio web a la lista negra global, no hay mucho que pueda hacer (a menos que desee envolver su sitio en un marco que se origina en un dominio de la lista negra).

+0

Probé todos los modos de compatibilidad de documentos, pero eso no tiene ningún impacto en los problemas que tiene la página. En realidad, solo funciona cuando el modo del navegador está establecido explícitamente en la vista de compatibilidad. –

+0

@FlorianPeschka Agregué todos los factores conocidos que desencadenan el modo de compatibilidad: definitivamente no son fáciles de conseguir y no creo que nadie realmente quiera usarlos a propósito, pero definitivamente sí funcionan. – Razor

+0

Bien. Esperaba poder evitar tener que depurar la aplicación, pero en ese caso, supongo que esa es la única opción. Gracias por el esfuerzo sin embargo. –

5

He intentado con los diversos métodos sugeridos por el artículo de MSDN en http://msdn.microsoft.com/en-us/library/jj676915(v=vs.85).aspx con respecto a obligar a IE9 a emular una versión anterior con el encabezado compatible con X-UA para mostrar correctamente.

En mi caso, la prueba es reproducir un archivo de video MP4 en un navegador IE9 que está utilizando el modo estándar predeterminado en lugar del modo de compatibilidad. Otros sitios web han dicho que Internet Explorer solo está configurado para reproducir archivos MP4 (en lugar de archivos de video ogg y webm), así que supuse que sería el formato de archivo más seguro para probar.

He probado la vista de la página web utilizando IE9 emulando el estándar IE8 y las vistas estándar IE7 de esa página, y en ambos casos, las vistas estándar anteriores funcionaron para reproducir el archivo de video MP4. Y el modo de compatibilidad IE9 también jugó esa página web. Pero obligué al IE9 a volver a la vista estándar para probar un código que funcionaría para reproducir el video para aquellos que no habían configurado su propio navegador IE9 para usar el modo de compatibilidad.

Los métodos sugeridos por ese artículo de MSDN mencionado anteriormente parecen estar dirigidos a este problema, pero al probar cada uno de esos métodos, ninguno de ellos solucionó el problema de un navegador IE9 reproduciendo un archivo de video MP4.

La solución a mi problema provenía de este billete de desbordamiento de pila: HTML5 Video not working only in IE9

que en realidad tenía que añadir las siguientes líneas al archivo .htaccess en el sitio web:

AddType video/ogg .ogv 
AddType video/mp4 .mp4 
AddType video/mp4 .mov 
AddType video/webm .webm 

Entonces, también necesitaba para asegurarse de que la primera línea de código utiliza esto:

<!DOCTYPE html> 

... en lugar de esto:

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

que no necesitaba usar cualquier parte del código "versión anterior" como este:

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

En mi página de prueba, también se utiliza el código video-js, que había asumido haría cargo de el problema estándar IE9 (como lo había sido para otros navegadores web). Su propio código parece tener también los siguientes códigos de salida X-UA-Compatible:

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

Sin embargo, estos códigos por sí sola no resuelve el problema. En última instancia, creo que se debió a la adición del código al archivo .htaccess.

1

I tienen una sola solución para todos (7,8,9), es decir Navegadores

<script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js" > </script> 

uso este script java en etiqueta de la cabeza.

+0

[USTED PUEDE ENCONTRARLO AQUÍ Resto de los enlaces.] (Https://code.google.com/p/ie7-js/) –

+0

Es posible que estos enlaces no sigan siendo válidos, ya que Google Code, especialmente los enlaces directos en él, no están disponibles. garantizado para seguir siendo utilizable por los métodos habituales después de enero de 2016, según su "plan de jubilación" detallado aquí: https://code.google.com/p/support/wiki/ReadOnlyTransition –

Cuestiones relacionadas