google-chrome - onerror img
window.onerror no funciona en chrome (3)
Estoy tratando de agregar un evento onerror a mi sitio web.
window.onerror = function() {
alert("an error");
}
Pero todo lo que recibo es:
notThere();
ReferenceError: notThere is not defined
¿Qué me estoy perdiendo?
Navegador: Chrome 26.0.1410.64 m
Pasos para reproducir:
- Agrega el código a la consola.
- agregar notThere () a la consola
Algunas otras razones por las que no puede manejar los errores en window.onerror
(aparte de los mencionados):
- Otra biblioteca establece
window.onerror
después de ti. Si está utilizando Angular, los errores no pasarán a través de
window.onerror
. Tienes que manejarlos usando esta fábrica:.factory(''$exceptionHandler'', function() { return function errorCatcherHandler(exception, cause) { console.error(exception); if (window.OnClientError) window.OnClientError(exception); }; })
Ver:
https://docs.angularjs.org/api/ng/service/ $ exceptionHandler
http://bahmutov.calepin.co/catch-all-errors-in-angular-app.html
El window.onerror
funciona en Chrome (vea jsfiddle - http://jsfiddle.net/PWSDF/ ), pero aparentemente no en la consola, lo que tiene sentido.
window.onerror no se activa cuando la consola genera directamente un error. setTimeout
embargo, se puede activar a través de setTimeout
, por ejemplo, setTimeout(function() { notThere(); }, 0);
Posible duplicado: Chrome: ¿Se producirá un error en el código invocado desde la consola dev de window.onerror?