1.0.2 • Published 6 years ago

catch-js-errors v1.0.2

Weekly downloads
16
License
MIT
Repository
github
Last release
6 years ago

Catch JS Errors

Плагин для отправки на сервер лога JS-ошибок в браузере.

Передаваемые данные:

  • Сайт, на котором возникла ошибка
  • Сообщение об ошибке
  • Файл с ошибкой
  • Браузер пользователя
  • Версия браузера
  • Операционная система пользователя

Установка:

Для работы пакетного менеджера на сервере должен быть установлен Node JS. Устанавливается одной простой коммандой в консоли:

npm install catch-js-errors

Подключение:

Подключаем его в начале страницы до вызова всех скриптов (Путь к файлу у Вас может отличаться, проверьте)

<script src="/local/static/node_modules/catch-js-errors/index.js" type="text/javascript">

Если сайт на CMS 1С-Битрикс, то, для того, чтобы скрипт не переносился вниз страницы со всеми остальными скриптами, ему нужно добавить параметр

data-skip-moving="true"

В таком случае, вызов будет выглядеть так:

<script src="/local/static/node_modules/catch-js-errors/index.js" data-skip-moving="true" type="text/javascript">

Детали:

jQuery не используется, поэтому скрипт можно спокойно добавлять до вызова библиотеки.

При возникновении Синтаксических ошибок (SyntaxError) скрипт, к сожалению, срабатывать не будет. В дальнейшем этот недочёт устранится.

Внутри скрипта отправки добавлен скрипт определения браузера, найденный на сайте https://yraaa.ru/scripts/opredelenie-brauzera-javascript

Помимо самого браузера, он определяет его версию и Операционную систему, через которую открывается браузер. В некоторых случаях, редко, не совсем верно определяется, типо вместо андроида он пишет, что линукс.

В данный момент ошибки отправляются на сайт "error-listener.w6p.ru" и пока этот параметр не меняется. В дальнейшем для универсальности использования этот момент доработается.

P.S.

Этим скриптом данные просто передаются на сервер. Как на сервере эти данные обрабатывать, решать Вам: записывать в лог, сохранять в файл, каким-то образом фильтровать или что-то ещё - на Ваше усмотрение. Здесь представлена только js-составляющая всего процесса.

Ещё стоит отметить, что для того, чтобы корректно принимать данные на удалённом сервере, он должен быть настроен соответствующим образом. На эту тему есть полезные статьи:

http://javascript.ru/ajax/cross-domain-scripting, http://javascript.ru/ajax/cross-origin-2

1.0.2

6 years ago

1.0.0

6 years ago

0.1.3

6 years ago

0.1.0

6 years ago

0.0.6

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago