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

Вид: 1289|Ответ: 0

[Другое] Метод navigator.sendBeacon() для мониторинга и отслеживания фронтенд-точек

[Скопировать ссылку]
Опубликовано 2025-3-5 09:46:14 | | | |
Требования: разработанный продукт не может гарантировать отсутствие ошибок, даже если на этапе тестирования нет проблем, развернутых в производственной среде, могут возникнуть неожиданные ситуации для пользователей, и то же самое касается фронтенд-страниц. Sentry и Bugsnag — оба очень хорошие продукты для мониторинга.

обзор

ASP.NET Трассировка основных каналов (4) Доступ к трассировке связей Ягера
https://www.itsvse.com/thread-9537-1-1.html

ASP.NET Трассировка основных каналов (1) Установите учебник по Skywalking
https://www.itsvse.com/thread-9456-1-1.html

После мониторинга информации об аномалиях, как мне отправить данные в бэкенд-API? Navigator.sendBeacon — это API для отправки небольших объёмов данных на сервер, особенно когда страница собирается быть разгружена, например, логирование, анализ поведения пользователей и т.д.

Если вы используете традиционный XHR для передачи данных, вам нужно выполнять специальную логическую обработку на интерфейсе отслеживания на фронтенде. метод navigator.sendBeacon()Поместите сообщение в очередь браузера, чтобы даже если отправка не удалась, его сообщение об ошибке не было обнаружено фронтендом

Представлен Navigator.sendBeacon

Метод navigator.sendBeacon() отправляет HTTP-POST запрос с небольшим объёмом данных на веб-сервер асинхронно. Параметры: url, данные (данные типа ArrayBuffer, ArrayBufferView, Blob, DOMString, FormData или URLSearchParams)

Документация:

Вход по гиперссылке виден.
Вход по гиперссылке виден.

Сценарии использования

Логирование при удалении страницы: Записывает поведенческие данные, такие как время пребывания страницы, поведение клика, PV, UV и т.д., когда пользователь покидает страницу.
Аналитика и мониторинг: Отправка данных о поведении пользователей на аналитические серверы для мониторинга производительности сайта и анализа поведения пользователей.
Отчётность о состоянии: Сообщает серверу о статусе или ошибках заявки.

Тест

Код таков:




В чём сходства и различия между Navigator.sendBeacon, XHR и fetch?

Сходства

Отправка сетевых запросов: Все три метода используются для передачи данных с клиента на сервер.
Поддержка нескольких форматов данных: они могут передавать данные в различных форматах, таких как строки, JSON, двоичные данные и др.

Различия

Navigator.sendBeacon

Он используется для передачи небольшого объёма данных при удалении страницы и подходит для логирования, анализа данных и т.д.
Передача данных асинхронна, но не возвращает никакой информации вызывающему и не может обработать ответ сервера.
Разработано для гарантии передачи данных при удалении страницы, даже если браузер закрыт или страница перемещается.
Всегда используйте HTTPPOST-запросы.
Не нужно обрабатывать ответы, просто в использовании.

XMLHttpRequest

Для более сложных AJAX-запросов, требующих обработки ответов.
Могут выполняться синхронные или асинхронные запросы.
Вы можете обрабатывать ответ сервера и выполнять дополнительную обработку (например, парсинг JSON, обработка кодов статуса и т.д.).
Предоставляет насыщенные события, такие как onload, onerror, onprogress и т.д., для мониторинга различных этапов запроса.
Широко поддерживается во всех основных браузерах, включая некоторые старые браузеры.
Он сложнее в использовании и требует обработки различных этапов и состояний запроса.

Приносить

Современный интерфейс запроса, заменяющий XMLHttpRequest для более простой и гибкой обработки запросов и ответов.
Всегда делайте асинхронный запрос, возвращая объект Обещания.
Он поддерживает цепочную обработку ответов, что облегчает разбор JSON, коды статуса процессов и многое другое.
Поддерживает синтаксис async/await, что больше соответствует современным привычкам разработки JavaScript.
Лучшая поддержка междоменных запросов и CORS (Cross-Domain Resource Sharing).
Позволяет добавлять дополнительные опции к запросу (например, пользовательский заголовок, метод запроса и т.д.).

сводка

Navigator.sendBeacon — это API, разработанный для надёжности, особенно для передачи небольших объёмов данных при удалении страницы.
Он обладает преимуществами простоты, отсутствия блокировки и надёжности, и особенно подходит для таких сценариев, как логирование и анализ поведения пользователей.
Асинхронный запрос является POST-запросом.
Он может только определить, помещается ли он в очередь задач браузера, но не может определить, успешно ли он отправлен.
Нет необходимости иметь дело с возвратной стоимостью.
Необходимо отметить проблемы с совместимостью браузеров.




Предыдущий:Fuse.js Фронтендная лёгкая библиотека нечеткого поиска (полнотекстовый поиск)
Следующий:Видеокарта Ubuntu 24.04 A10 с установленным драйвером NVIDIA
Отказ:
Всё программное обеспечение, программные материалы или статьи, публикуемые Code Farmer Network, предназначены исключительно для учебных и исследовательских целей; Вышеуказанный контент не должен использоваться в коммерческих или незаконных целях, иначе пользователи несут все последствия. Информация на этом сайте взята из Интернета, и споры по авторским правам не имеют отношения к этому сайту. Вы должны полностью удалить вышеуказанный контент с компьютера в течение 24 часов после загрузки. Если вам нравится программа, пожалуйста, поддержите подлинное программное обеспечение, купите регистрацию и получите лучшие подлинные услуги. Если есть нарушение, пожалуйста, свяжитесь с нами по электронной почте.

Mail To:help@itsvse.com