2012-08-25 12 views
8

Potrzebuję sposobu, aby zarejestrować wszystkie błędy JavaScript, które mogą się zdarzyć w dokumencie. Oczywiście, wywołanie Ajax do skryptu logowania nie stanowi problemu, ale zdarzenie window.onerror nie wywołuje błędów w funkcjach lub w innych przypadkach, gdy przeglądarka lub pasek narzędzi dla programistów sieci zgłasza błąd.Zgłaszanie błędów JavaScript w całym dokumencie

Wolałbym nie używać try/catch, ponieważ w wielu miejscach jest dużo kodu i chciałbym mieć rozwiązanie obejmujące całe dokumenty, które zgłosiłoby wszystkie błędy JavaScript.

Czy to możliwe? Widzę tak wiele witryn o wysokim profilu z błędami JavaScript, więc oczywiście wielu deweloperów albo ich nie obchodzi, albo nie wie o błędach.

+0

Czy umiesz przeglądać tę przeglądarkę? na przykład obiekt konsoli w chrome może dać ci listę? –

+0

Co masz na myśli przeglądarka według przeglądarki? Jak uzyskać dostęp do błędów w obiekcie konsoli w przeglądarce Chrome? – DMIL

+0

http://getfirebug.com/wiki/index.php/Console_API#console.exception.28error-object.5B.2C_object.2C_....5D.29 - wydaje się nie robić tego, co chcesz. Nie jestem pewien, czy jest to możliwe –

Odpowiedz

1

Po pierwsze, przepraszam, jeśli źle zrozumiałem twoje pytanie i twoje kwalifikacje.

Wygląda na to, że nie znasz się na DeveloperTools, a ty lepiej:) Na przykład w Chrome możesz otworzyć DeveloperTools, naciskając F12 lub Ctrl + Shift + J. Wszystkie wcześniejsze i nadchodzące błędy JavaScript będą wyświetlane na karcie Konsola w momencie ich wystąpienia.

+0

Yup, źle cię zrozumiałeś. :) Chcę, aby strona zgłaszała błędy JavaScriptu, które mogą pojawić się odwiedzającym stronę - wtedy strona przechwytuje błąd, wysyła go przez Ajax do skryptu, a skrypt wysyła mi e-mail z informacją: "Odwiedzający właśnie miał błąd Javascript "someerror" na stronie "someurl" on line #someline "wraz z ich agentem użytkownika. Zrobiłem to wszystko i działa na niektóre błędy JavaScript, ale nie na większości (na przykład te wewnętrzne), ponieważ window.onerror nie przechwytuje tych błędów. – DMIL

1

W rzeczywistości można wykonać automatyczne wstawianie try-catch w postaciw taki sposób, że nie trzeba zmieniać kodu. To nie jest łatwe.

Możesz wypróbować mój projekt Muscula, to logs JavaScript errors z włączeniem try-catch i powraca on onerror, gdy nie jest to możliwe.

Powiązane problemy