Spec-Zone.ru › Web APIs

ReportingObserver

Ограниченная доступность

Эта функция не относится к Baseline, так как не работает во всех широко используемых браузерах.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Примечание: Эта функция доступна в Потоках веб-работы.

Интерфейс ReportingObserver API отчётности позволяет собирать и получать доступ к отчётам.

Конструктор

ReportingObserver()

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

Свойства экземпляра

Для этого интерфейса не определено никаких свойств.

Методы экземпляра

ReportingObserver.disconnect()

Прекращает сбор отчётов наблюдателем отчётности, который ранее начал наблюдение.

ReportingObserver.observe()

Указывает наблюдателю отчётности начать сбор отчётов в его очереди отчётов.

ReportingObserver.takeRecords()

Возвращает текущий список отчётов, содержащихся в очереди отчётов наблюдателя, и очищает очередь.

События

Для этого интерфейса не определено никаких событий.

Примеры

В нашем примере deprecation_report.html мы создаём простой наблюдатель отчётности для наблюдения за использованием устаревших функций на нашей веб-странице:

const options = {
  types: ["deprecation"],
  buffered: true,
};

const observer = new ReportingObserver((reports, observer) => {
  reportBtn.onclick = () => displayReports(reports);
}, options);

Затем мы говорим ему начать наблюдение за отчётами, используя ReportingObserver.observe(); это говорит наблюдателю начать сбор отчётов в его очереди отчётов и выполняет функцию обратного вызова, указанную внутри конструктора:

observer.observe();

Позже в примере мы намеренно используем устаревшую версию MediaDevices.getUserMedia():

if (navigator.mozGetUserMedia) {
  navigator.mozGetUserMedia(constraints, success, failure);
} else {
  navigator.getUserMedia(constraints, success, failure);
}

Это приводит к генерации отчёта об устаревании; благодаря обработчику событий, который мы настроили внутри конструктора ReportingObserver(), мы теперь можем нажать кнопку, чтобы отобразить подробности отчёта.

image of a jolly bearded man with various stats displayed below it about a deprecated feature

Примечание: Если вы посмотрите на полный исходный код, вы заметите, что мы фактически вызываем устаревшее метод getUserMedia() дважды. После первого вызова мы вызываем ReportingObserver.takeRecords(), который возвращает первый сгенерированный отчёт и очищает очередь. По этой причине, когда нажимается кнопка, отображается только второй отчёт.

Спецификации

Спецификация
Reporting API
# interface-reporting-observer

Совместимость с браузерами

Рабочий стол Мобильное устройство
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android
ReportingObserver 69 79 65 56 16.4 69 Нет 48 16.4 10.0 69
ReportingObserver 69 79 65 56 16.4 69 Нет 48 16.4 10.0 69
disconnect 69 79 65 56 16.4 69 Нет 48 16.4 10.0 69
observe 69 79 65 56 16.4 69 Нет 48 16.4 10.0 69
takeRecords 69 79 65 56 16.4 69 Нет 48 16.4 10.0 69
worker_support 84 84 77 70 Нет 84 Нет Нет Нет 14.0 84

См. также

  • API отчётности

© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/ReportingObserver

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API