Автор оригинала: Robert Wozniak.
Новый ReportingIbserver API собирается помочь вам с устаревшим API на вашем сайте, а также с отпуском вы знаете, когда ваш код запущен в вмешательстве браузера.
ReportingIbserver является частью более крупных спецификаций: Отчетность API.
1. Какова фактическая цель?
Можете ли вы представить себе важный проект, который прошел жить пару дней назад, и многие клиенты начали регистрироваться на своем новом сайте, и правда в том, что вновь созданный проект должен быть стабильным, чтобы сохранить вашу финансовую сторону Бизнес течет Отказ Теперь давайте доберемся до такой степени, что ваши клиенты сталкиваются с неожиданным поведением сайта из-за случайных ошибок, и вы не знаете об этом. Вот почему у нас есть ReportingIbserver API – это позволяет нам отправить свой отчет на Боковая сторона Где мы можем видеть, что происходит на нашем сайте в данный момент, что действительно важно, если у нас есть значительный проект, работающий в прямом эфире.
Человек, который посещает сайт вашего продукта не может быть разработчиком И не знаю, что происходит, пока его столкнутся с неожиданными ошибками. Все проблемы будут отображаться в консоли в качестве журнала консоли, но если вы реализуете следующие API, вещи начнут работать по-разному.
ReportingObserver Образец кода:
const observer = new ReportingObserver((reports, observer) => { for (const report of reports) { console.log(report.type, report.url, report.body); } }, { buffered: true }); observer.observe();
2. Основная структура API
У нас есть другие API, которые бросают ошибки, как например, Window.OneRror. Дело в том, что Window.OneRror не пожарит предупреждения за все! Следующие API будут пожарованы ошибки времени выполнения, такие как JS Исключения и синтаксические ошибки, вызванные выполненным кодом. Используя ReportingIbserver, у вас есть свобода настроить уведомления, связанные с предупреждениями амортизации и вмешательства.
API не работает как нормальный «наблюдатель». Во-первых, вам необходимо предоставить обратный вызов, а затем вы получите отчет как информацию. Обратный вызов получает информацию, которая представляет собой список проблем, вызванных на странице.
const observer = new ReportingObserver((reports, observer) => { for (const report of reports) { // → report.id === 'XMLHttpRequestSynchronousInNonWorkerOutsideBeforeUnload' // → report.type === 'deprecation' // → report.url === 'https://reporting-observer-api-demo.glitch.me' // → report.body.message === 'Synchronous XMLHttpRequest is deprecated...' } }}); observer.observe();
Вы получаете пару приятных функций для использования:
1. Отфильтрованные отчеты Вы можете отфильтровать свои отчеты для наблюдения только к конкретному типу.
const observer = new ReportingObserver((reports, observer) => { ... }, {types: ['deprecation']});
2. Буферические отчеты Если вы устанавливаете буферизованный свойство в True, вы сможете увидеть отчеты, сгенерированные до создания наблюдателя.
const observer = new ReportingObserver((reports, observer) => { ... }, {types: ['intervention'], buffered: true});
3. Отключить Если вы хотите перестать наблюдать за отчетами, вы можете просто отключить наблюдателя, и это так!
observer.disconnect();
3. Пример использования API
Ниже приведен код пример использования следующих API. Пример показывает, как вы можете отправить отчет на ваш Backeng Server.
const report = new ReportingObserver((reports, observer) => { for (const report of reports) { const stringifiedReport = JSON.stringify(report.body); // Send to the server receiveReport(stringifiedReport); } }, { types: ['deprecation'], buffered: true });
Резюме
Подводя итоги, ReportingIbserver собирается помочь вам доставить амортизацию и вмешательство предупреждения, сразу же, отправив его в свою реализацию Backenn и проинформировать вас об этом. Важной частью этого является то, что она мониторирует ваш сайт и выпускает 24/7 и сообщает об этом вам. Фантастический.
ReportingBserver API будет отправлен в Chrome 69. Согласно статусу Chrome Platform, нет публичных сигналов от Mozilla и Safari, чтобы получить его в ближайшей функции, но сюрприз, неожиданный край поддерживает идею API и будет доставкой Это в какое-то время.
Чтобы получить еще больше информации о недавно отправленном API, вы можете открыть ниже ссылки: