Spec-Zone.ru › Web APIs

API маяка

Базовая Широко доступна

Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с апреля 2018 года.

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

API Beacon используется для отправки асинхронного и неблокирующего запроса на веб-сервер. Ответ на запрос не ожидается. В отличие от запросов, сделанных с помощью XMLHttpRequest или API Fetch, браузер гарантирует инициацию запросов маяка перед разгрузкой страницы и их завершение.

Основное применение API маяка — отправка аналитики, такой как события на стороне клиента или данные сеанса, на сервер. Раньше веб-сайты использовали для этого XMLHttpRequest, но браузеры не гарантировали отправку таких асинхронных запросов в некоторых случаях (например, если страница собирается загружаться). Для решения этой проблемы веб-сайты прибегали к различным приемам, таким как синхронное выполнение запроса, что негативно сказывается на отзывчивости. Поскольку запросы маяка являются асинхронными и гарантированно отправляются, они сочетают в себе хорошие характеристики производительности и надёжность.

Дополнительные сведения о мотивации и использовании этого API см. в документации метода navigator.sendBeacon().

Примечание: Этот API недоступен в Web Workers (не экспонируется через WorkerNavigator).

Интерфейсы

Этот API определяет единственный метод: navigator.sendBeacon().

Метод принимает два аргумента: URL и данные для отправки в запросе. Аргумент данных является необязательным и может быть строкой, ArrayBuffer, TypedArray, DataView, ReadableStream, Blob, объектом FormData или объектом URLSearchParams. Если браузер успешно помещает запрос в очередь для доставки, метод возвращает true; в противном случае, он возвращает false.

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

Спецификация
Маяк
# sendbeacon-method

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

Десктоп Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet WebView Android
Beacon_API
39Начиная с Chrome 59, этот метод не может отправлять Blob с типом, который не включён в список CORS. Это временное изменение, пока не будет найдено решение проблем безопасности, которые оно создаёт. Для получения дополнительной информации см. ошибку 40087600.
14 31
26Начиная с Opera 46, этот метод не может отправлять Blob с типом, который не включён в список CORS. Это временное изменение, пока не будет найдено решение проблем безопасности, которые оно создаёт. Для получения дополнительной информации см. ошибку 40087600.
11.1
42Начиная с Chrome 59, этот метод не может отправлять Blob с типом, который не включён в список CORS. Это временное изменение, пока не будет найдено решение проблем безопасности, которые оно создаёт. Для получения дополнительной информации см. ошибку 40087600.
31
29Начиная с Chrome 59, этот метод не может отправлять Blob с типом, который не включён в список CORS. Это временное изменение, пока не будет найдено решение проблем безопасности, которые оно создаёт. Для получения дополнительной информации см. ошибку 40087600.
11.3
4.0Начиная с Chrome 59, этот метод не может отправлять Blob с типом, который не включён в список CORS. Это временное изменение, пока не будет найдено решение проблем безопасности, которые оно создаёт. Для получения дополнительной информации см. ошибку 40087600.
40Начиная с Chrome 59, этот метод не может отправлять Blob с типом, который не включён в список CORS. Это временное изменение, пока не будет найдено решение проблем безопасности, которые оно создаёт. Для получения дополнительной информации см. ошибку 40087600.

См. также

  • Стандарт Beacon
  • Данные CanIUse для Beacon
  • Перехват сигналов Beacon через Service Workers; Ehsan Akhgari; 2015-апр-08
  • https://webkit.org/blog/8821/link-click-analytics-and-privacy/
  • Beaconing на практике

© 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/Beacon_API

Spec-Zone.ru

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