2012-08-25 13 views
8

Ich brauche eine Möglichkeit, alle Javascript-Fehler, die in einem Dokument auftreten können, zu protokollieren. Offensichtlich ist ein Ajax-Aufruf an das Protokollierungsskript kein Problem, aber das window.onerror-Ereignis wird nicht ausgelöst für Fehler in Funktionen oder in anderen Fällen, in denen die Browser- oder Webentwicklersymbolleiste einen Fehler melden würde.Berichterstattung Dokument-wide Javascript Fehler

Ich würde lieber nicht versuchen/fangen, weil es an vielen Orten viel Code gibt und ich möchte eine dokumentenweite Lösung, die alle Javascript-Fehler melden würde.

Ist das überhaupt möglich? Ich sehe so viele hochkarätige Seiten mit Javascript-Fehlern, so dass offensichtlich viele Entwickler die Fehler nicht kennen oder nicht wissen.

+0

Können Sie diesen Browser über den Browser ausführen? Zum Beispiel könnte das Konsolenobjekt in Chrome Ihnen eine Liste geben? –

+0

Was meinst du Browser von Browser? Wie greife ich auf die Fehler im Konsolenobjekt in Chrome zu? – DMIL

+0

http://getfirebug.com/wiki/index.php/Console_API#console.exception.28error-object.5B.2C_object.2C_....5D.29 - scheint aber nicht das zu tun, was Sie wollen. Nicht sicher ist es möglich –

Antwort

1

Zuerst, tut mir leid, wenn ich Ihre Frage und Ihre Qualifikationen missverstanden habe.

Scheint, Sie sind nicht vertraut mit DeveloperTools, und Sie sollten besser sein:) Zum Beispiel, in Chrome können Sie DeveloperTools durch Drücken von F12 oder Strg + Shift + J öffnen. Alle Ihre vorherigen und bevorstehenden JavaScript-Fehler werden bei ihrem Auftreten auf der Registerkarte "Console" angezeigt.

+0

Yup, Sie missverstanden. :) Ich möchte, dass die Seite Javascript-Fehler meldet, die den Besuchern der Website passieren können - dann fängt die Seite den Fehler auf, sendet sie über Ajax an ein Skript und das Skript sendet mir eine E-Mail, die mir sagt: "Ein Besucher hatte gerade ein Javascript Fehler 'someerror' auf der Seite 'someurl' in der Zeile #someline "zusammen mit ihrem User Agent. Ich habe tatsächlich all das gemacht, und es funktioniert bei einigen Javascript-Fehlern, aber nicht bei den meisten (das sind zum Beispiel interne Funktionen), weil window.onerror diese Fehler nicht abfängt. – DMIL

1

Es ist tatsächlich möglich, einige automatische Try-Catch-Einfügung in einer Weise zu tun, wo Sie Ihren Code nicht ändern müssen. Es ist nicht einfach.

Sie könnten versuchen, mein Projekt Muscula, dass logs JavaScript errors mit Try-Catch-Einfügung und fällt auf onerror wenn es nicht möglich ist.

Verwandte Themen