Как сохранить ошибки JavaScript в файле
Требуется решение для сохранения журнала ошибок JavaScript. Для автоматического тестирования любого сайта с поддержкой популярных веб-браузеров (IE, FF, Chrome).
Ответы
Ответ 1
Наиболее практичным методом является поиск события onerror. try-catch - лучший способ, но вы должны знать, где в вашем коде может появиться ошибка.
Здесь используется предупреждение. Его можно заменить вызовом ajax на серверное script/приложение на стороне сервера, которое будет отвечать за ведение журнала базы данных. JavaScript сам по себе не может получить доступ к любой файловой системе - серверу или пользователю. Это только отправит информацию об ошибке. демо
window.onerror = function (msg, url, num) {
alert("Error: " + msg + "\nURL: " + url + "\nLine: " + num);
return true;
};
JS-made-poo();
Internet Explorer использует ActiveX, который может быть полезен в каком-то приложении регистрации. Но пользователь, вероятно, получит предупреждение при активации ActiveX.
Ответ 2
Простой/лучший способ сделать:)
В простых шагах:
- Записывать ошибки ошибок JavaScript
код.
- Добавить запрос/ответ Ajax
модуль для отправки захваченной ошибки в
ваш сервер.
- в хранилище сервера
ваши ошибки Javascript для
Журнал/базы данных.
- При необходимости предоставьте
функциональность для доступа к журналу
удаленно.
Вход в файл на стороне клиента имеет ограничения:
- Поддерживается только IE (с использованием объектов ActiveX)
- Очевидно, что файлы - это хранилища на стороне клиента. Не на сервере.
Ответ 3
Я не верю, что в Javascript есть что-то, что можно было бы поддержать, поскольку Javascript не получает доступ к файловой системе клиента. Вам нужно будет создать модуль браузера, приложение со встроенным браузером или, может быть, посмотреть, можно ли построить соответствующее расширение firebug.
Ответ 4
Или собирайте ошибки в переменной JS, а затем отправляйте их на сервер для их регистрации.
Ответ 5
Самый простой способ сделать это - настроить страницу, на которую можно попасть с сообщением, и при ошибке сообщать об ошибках на эту страницу. Это требует обнаружения всех ошибок, поэтому вам нужно будет обернуть свою страницу в инструкции try { .. } catch (e) { .. }
.