Effektive JavaScript-Fehlerbehandlung mit globalem Ereignismechanismus
Um undefinierte Funktionsfehler global zu behandeln, erfasst die Nutzung des globalen Ereignismechanismus von JavaScript effektiv alle nicht erfassten Fehler Ausnahmen.
window.onerror-Ereignisbehandlung
Implementieren Sie einen Ereignishandler für das window.onerror-Ereignis wie folgt:
<code class="javascript">window.onerror = function(msg, url, line, col, error) {
// Message, URL, line and column details
// Note that col & error are new to HTML 5 and may vary across browsers.
// Customize the error display or perform error reporting using AJAX, for instance:
var xhr = new XMLHttpRequest();
xhr.open('POST', '/ajax/log_javascript_error');
xhr.send(JSON.stringify({ msg, url, line, col, error }));
};</code>
Nach dem Login kopieren
< ;h2>Wann wird window.onerror ausgelöst?
Dieses Ereignis wird ausgelöst, wenn:
-
Nicht abgefangene Ausnahmen: Nachrichten auslösen, undefinierte Funktionen aufrufen oder kreuzende Ursprungs-Iframe-Inhaltsfenster-/Dokumentfehler.
-
Kompilierungsfehler: Syntaxfehler, wie z. B. nicht übereinstimmende Klammern, fehlende Semikolons oder der Versuch, Nicht-Skript-Argumente zu kompilieren.
Browser-Unterstützung
- Chrome 13
- Firefox 6.0
- Internet Explorer 5.5
- Opera 11,60
- Safari 5.1
Zusätzliche Ressourcen
- Mozilla Developer Network: [window.onerror](https:/ /developer.mozilla.org/en-US/docs/Web/API/GlobalEventHandlers/onerror)
- MSDN: [Handhabung und Vermeidung von Webseitenfehlern Teil 2: Laufzeitfehler](https://docs .microsoft.com/en-us/ previous-versions/ms536764(v=vs.85))
- [Zurück zu den Grundlagen – JavaScript onerror Event](https://www.webdesignerdepot.com/2014/ 10/back-to-basics-javascript-onerror-event/)
- [DEV.OPERA: Bessere Fehlerbehandlung mit window.onerror](https://dev.opera.com/articles/better-error -handling-with-window-onerror/)
- [Window onError Event](https://www.html5rocks.com/en/tutorials/developertools/onerror/)
- [Verwenden des onerror-Ereignis zur Unterdrückung von JavaScript-Fehlern](https://stackoverflow.com/a/11712511)
- [SO: window.onerror wird in Firefox nicht ausgelöst](https://stackoverflow.com/q/5472601/ 123152)
Das obige ist der detaillierte Inhalt vonWie kann ich JavaScript-Fehler global mithilfe des Ereignisses „window.onerror' effektiv behandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!