2011-03-14 20 views
5

Estoy desarrollando una aplicación web. Mi aplicación funciona muy bien en Chrome y Firefox, pero por alguna razón se presentan algunos errores en IE. A pesar de que surgen varios errores, la aplicación aún se puede ejecutar sin problemas, aparentemente sin problemas.IE - evitar que se muestren errores en IE

Me gustaría ocultar los errores del usuario final, ya que actualmente se le presenta un pequeño ícono que dice que se produjo un error.

¿Cómo puedo lograrlo?

Gracias

+2

(bromeando): intente/atrape todo. –

Respuesta

6

Lo mejor que puede hacer, de lejos, es averiguar dónde está causando el error el código y corregirlo.

Debido a esto está sucediendo específicamente en IE, que podría window.onerror utilizar para manejar (suprimir) si están en tiempo de ejecución (compilación) no errores, que a partir de sus comentarios sobre otra respuesta que suena como son. A partir de este enlace:

para suprimir el mensaje de error de Internet Explorer por defecto para el evento window, establecer la propiedad del objeto returnValueevent a true o simplemente volver true en Microsoft JScript.

El evento onerror se activa para los errores de tiempo de ejecución, pero no para los errores de compilación. Además, los cuadros de diálogo de error generados por los depuradores de guiones no se suprimen al devolver true. Para desactivar los depuradores de scripts, deshabilite la depuración de scripts en Internet Explorer seleccionando Opciones de Internet en el menú Herramientas. Haga clic en la ficha Advanced y seleccione la casilla de verificación correspondiente.

Ejemplo:

Este código hace que un error (porque estoy tratando de eliminar la referencia undefined):

document.getElementById('theButton').onclick = function() { 
    var d; 

    display(d.foo); 
}; 

Live copy

Pero si sumamos esto, el error se suprime porque le decimos a IE que lo manejamos:

window.onerror = function() { 
    // Return true to tell IE we handled it 
    return true; 
}; 

Live copy

3

Por lo que yo sé, no hay forma real de hacer esto porque entonces estaría controlando el navegador (También conocido como la aplicación) y esto sería una mala cosa. El usuario puede manually turn off those errors, o puede ver si puede corregir su JavaScript. Pero, aparte de esas dos soluciones, creo que no tienes suerte.

+0

@vondip: Recomienda hacer una pregunta por separado como una pregunta separada. –

+0

@ T.J. Crowder- lo hará, gracias – vondip

1

corregir los errores - la mayor parte del tiempo, que sería algo trivial que sólo es decir, viajes en. Para esos casos, solucionar los problemas encontrados por JSLint ayuda con el 90% de las cosas: http://www.jslint.com/lint.html