Tengo un script JS que funciona en modo de compatibilidad IE8, FF, Chrome, Opera, pero no en modo estándar IE8.

Como creo que el modo estándar es más estricto que el modo de compatibilidad, tal vez hay algo mal con mi código. ¿Cómo puedo depurar? ¿Hay algo que me muestre cosas que funcionarían en modo de compatibilidad pero estándar?

Además, a corto plazo, ¿cómo puedo cambiar el navegador del usuario para usar el modo de compatibilidad en JS? No quiero cambiar todo el sitio (es decir, cambiar el tipo de plantilla), ¿cómo lo hago en JS?

Gracias.

1
Jourkey 20 jul. 2009 a las 11:19

4 respuestas

La mejor respuesta

Para forzar el modo de compatibilidad, necesita un encabezado personalizado. Ver este enlace http://weblogs.asp.net/joelvarty/archive/2009/03/23/force-ie7-compatibility-mode-in-ie8-with-iis-settings.aspx

Si publica el Javascript que no funciona, es posible que podamos señalar el problema.

1
Chetan Sastry 20 jul. 2009 a las 07:23

El problema que tenías era probablemente un problema de jquery relacionado con css. Noté que solo en el modo estándar ie8 mis tablas no cambiaban de tamaño correctamente y después de la depuración noté que mi CSS para la tabla tenía una entrada duplicada. Debe haber una diferencia en la forma en que jquery..css ("border-left-width") responde en ie8 ya que el siguiente css se representa correctamente en los modos estándar ie7 y ie9, pero no en el modo estándar ie8:

table {
 border: 8px solid #C2DDEE;
 border: none;
}
0
John Sanford 16 ago. 2013 a las 16:50

En primer lugar, verifique el valor del valor document.documentMode en JavaScript. Si su página está en modo peculiar, vuelve al comportamiento de IE 5, lo que puede dañar su código.

Para verificar el modo de documento, use este pequeño fragmento de JavaScript.

var docMode = document.documentMode;
if (!docMode|| docMode < 8) {
    // Old IE or IE8 or later compatibility mode.
    // 5 for quirks mode, 7 for compatibility mode,
    // undefined for IE7 or earlier.
} else {
    // IE8 or later standards mode.
}

Sin embargo, es difícil saber cuál es su problema si no publica el código. Tal vez podamos resolverlo si nos muestra qué código se comporta de manera diferente.

1
Blixt 20 jul. 2009 a las 07:27

Cuando los controles se definen por "nombre", no por "id", el modo compatible funciona y el modo estándar no funciona, resuelvo mi problema insertando "id".

1
Asif 6 abr. 2012 a las 05:18