2011-06-25 35 views
7

Estoy recibiendo un tipo de error muy extraño con IE9. Cuando uso un DOMParser desde una página jsp en localhost, funciona perfectamente bien y da el resultado correcto.DOMParser no está definido en IE9

Pero sorprendentemente, cuando uso DOMParser dentro de un archivo HTML normal (No en el servidor. Del sistema de archivos), aparece este mensaje molesto de "DOMParser no está definido" ... ¿Qué es esto y cómo puedo hacerlo? ¿trabajo? Gracias.

P.S. Funciona bien en FF y Chrome

+0

puede depender de diferentes-configuración de seguridad al acceder a los archivos del sistema de archivos –

+0

¿Cómo puedo comprobar el configuración? – mihsathe

+0

Perdón por la respuesta tardía, tuve que ir a trabajar. Lo he comprobado en mi máquina virtual, funciona allí con la configuración predeterminada. ¿Estás seguro de que tu IE9 se está ejecutando en modo IE9? –

Respuesta

9

Yo diría que esto es casi seguro que el navegador se ejecuta en modo de compatibilidad al navegar por las URL locales.

Puede comprobar esto abriendo las herramientas de desarrollo (presione F12) y mirando en la esquina superior derecha; si dice que está en modo IE7, entonces has encontrado el problema. Cambie de nuevo al modo IE9 normal y debería venir bien.

IE7 no es compatible con el objeto DomParser, por lo que si IE9 está en modo de compatibilidad con IE7, es natural que también deje de admitirlo.

Ok, eso es lo que está haciendo. Pero, ¿por qué está haciendo esto? Hay una configuración de configuración en IE (tanto IE8 como IE9) que especifica que el navegador debe entrar en modo de compatibilidad cuando navegue por sitios en la intranet local. El motivo de esta configuración existente es permitir a las empresas que tienen sitios internos diseñados para versiones anteriores de IE actualizar a una nueva versión sin romper esos sitios. Está destinado a hacer más fácil para los tipos corporativos que prefieren no gastar dinero en arreglar algo cuando la versión defectuosa es lo suficientemente buena.

Pero es un dolor en la parte posterior para el resto de nosotros.

Obviamente, si su sitio está en internet público, no se verá afectado por esta bandera, excepto cuando intente trabajar desde localhost en su propia PC. Por lo tanto, la solución para usted es simplemente desactivar esta configuración en el navegador y olvidarse de ella.

Por supuesto, el hecho es que los usuarios de IE7 todavía tendrán este problema con su sitio, ya que su navegador no admite la función que está utilizando. Simplemente puede soltar el soporte para IE7 y decirles a los usuarios que se actualicen. Pero si desea dar soporte a los usuarios de IE7, creo que el script IE7.js de Dean Edwards le permite al navegador emular esta característica (junto con muchas otras cosas que Microsoft olvidó).

Espero que ayude.

+0

Ya había averiguado la solución. Pero increíble respuesta y gran sugerencia para IE7.js. Gracias una tonelada. + 1 + mejor ans – mihsathe

1

Recibí este error, "DOMParser no está definido", en IE9 y resultó ser un complemento que estaba deshabilitado.

Nombre del documento XML DOM Editorial Microsoft Corporation estado habilitado

Herramientas - Administrar complementos - Microsoft Corporation