Как сохранить ошибки JavaScript в файле - PullRequest
3 голосов
/ 10 июля 2011

Нужно решение для сохранения журнала ошибок JavaScript. Для автоматического тестирования любого сайта с поддержкой популярных веб-браузеров (IE, FF, Chrome).

Ответы [ 5 ]

4 голосов
/ 10 июля 2011

Наиболее практичный метод - поиск ошибки события.try-catch - лучший метод, но вы должны знать, где в вашем коде возможно появление ошибки.

Здесь используется предупреждение.Его можно заменить вызовом ajax некоторого серверного сценария / приложения, которое будет отвечать за ведение журнала сообщения в базе данных.JavaScript сам по себе не может получить доступ к любой файловой системе - к серверу или пользователю.Это только отправит информацию об ошибке. demo

window.onerror = function (msg, url, num) {
    alert("Error: " + msg + "\nURL: " + url + "\nLine: " + num);
    return true;
};
JS-made-poo();

Internet Explorer использует ActiveX, что может быть полезно в некоторых приложениях регистрации.Но пользователь, вероятно, получит предупреждение при срабатывании ActiveX.

4 голосов
/ 10 июля 2011

Простой / лучший способ сделать:)

В простых шагах:

  1. Написать сообщение об ошибке JavaScript код.
  2. Добавить запрос / ответ Ajax модуль для отправки захваченной ошибки ваш сервер.
  3. на сервере магазина ваши ошибки Javascript в Журнал / базы данных.
  4. При необходимости укажите функциональность для доступа к журналу удаленно.

У входа в файл на стороне клиента есть ограничения:

  1. Поддерживается только IE (с использованием объектов ActiveX)
  2. Очевидно, что файлы хранятся на стороне клиента. Не на сервере.
0 голосов
/ 10 июля 2011

Или собирайте ошибки в переменной JS и затем отправляйте их на сервер для их регистрации.

0 голосов
/ 10 июля 2011

Самый простой способ сделать это - настроить страницу, на которую можно попасть сообщением, и в случае ошибки опубликовать ошибки на этой странице.Это требует перехвата всех ошибок, поэтому вам нужно обернуть страницу в оператор try { .. } catch (e) { .. }.

0 голосов
/ 10 июля 2011

Я не верю, что в Javascript есть что-то, что поддерживает это, поскольку Javascript не получает доступ к файловой системе клиента.Вам нужно создать модуль браузера, приложение со встроенным браузером или, возможно, посмотреть, сможете ли вы создать соответствующее расширение firebug.

...