Estoy ejecutando un sitio ASP.NET donde tengo problemas para encontrar algunos errores de JavaScript solo con las pruebas manuales.
¿Existe la posibilidad de detectar todos los errores de JavaScript en el lado del cliente y registrarlos en el servidor, es decir, en el EventLog (a través del servicio web o algo así)?
javascript
logging
error-handling
MADMap
fuente
fuente
Respuestas:
Puede intentar configurar su propio controlador para el evento onerror y usar XMLHttpRequest para decirle al servidor qué salió mal; sin embargo, dado que no forma parte de ninguna especificación, el soporte es algo inestable .
A continuación, se muestra un ejemplo del uso de XMLHttpRequest para registrar errores de JavaScript :
fuente
setInterval
método. Hay muchos servicios de informes de errores de JS disponibles en la web. Pedido ErrLytics . También le brinda análisis de cada acción de los usuarios en su sitio web.Respuesta corta: Sí, es posible.
Respuesta más larga: la gente ya ha escrito sobre cómo puede (al menos parcialmente) resolver este problema escribiendo su propio código. Sin embargo, tenga en cuenta que existen servicios que parecen haberse asegurado de que el código JS necesario funcione en muchos navegadores. Encontré lo siguiente:
No puedo hablar por ninguno de estos servicios porque todavía no los he probado.
fuente
Acabo de implementar el registro de errores del lado del servidor en errores de JavaScript en un proyecto en el trabajo. Hay una mezcla de código heredado y código nuevo usando jQuery .
Utilizo una combinación de
window.onerror
y envolviendo los controladores de eventos jQuery y la función onready con una función de manejo de errores (ver: Seguimiento de errores de JavaScript: Por qué window.onerror no es suficiente ).window.onerror
: detecta todos los errores en IE (y la mayoría de los errores en Firefox), pero no hace nada en Safari y Opera.Una vez que he detectado el error, le agrego algunas propiedades adicionales (url, navegador, etc.) y luego lo publico en el servidor usando una llamada ajax.
En el servidor tengo una pequeña página que solo toma los argumentos publicados y los envía a nuestro marco de registro de servidor normal.
Me gustaría abrir el código fuente para esto (como un complemento jQuery). Si alguien está interesado, hágamelo saber, ¡ayudaría a convencer a los jefes!
fuente
Si usa Google Analytics, puede registrar errores de JavaScript en Eventos de Google Analytics.
Vea esta aplicación: http://siteapps.com/app/log_javascript_errors_with_ga-181
Espero eso ayude.
fuente
También recomiendo usar la utilidad TraceTool , viene con soporte JavaScript y es muy útil para el monitoreo de JS.
fuente
Si desea registrar los errores del lado del cliente en el servidor, tendrá que realizar algún tipo de procesamiento del servidor. Lo mejor sería tener un servicio web al que pueda acceder a través de JavaScript (AJAX) y le pase la información del registro de errores.
No resuelve el problema al 100% porque si el problema es con el servidor web que aloja el servicio web, tiene problemas, su otra opción sería enviar la información a través de una página estándar a través de una cadena de consulta, un método de hacer eso es a través de la generación dinámica de etiquetas de imagen (que luego se eliminan) ya que el navegador intentará cargar la fuente de una imagen. Sin embargo, maneja muy bien las llamadas de JavaScript entre dominios. Tenga en cuenta que está en problemas si alguien tiene las imágenes desactivadas;)
fuente
He estado usando Appfail recientemente, que captura errores de asp.net y JavaScript
fuente
Potencialmente, podría hacer una llamada Ajax al servidor desde un intento / captura, pero eso es probablemente lo mejor que puede hacer.
¿Puedo sugerir pruebas unitarias de JavaScript en su lugar? ¿Posiblemente con JSUnit ?
fuente