Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 1289|Răspunde: 0

[Altele] Metoda navigator.sendBeacon() pentru monitorizarea și urmărirea punctelor frontale

[Copiază linkul]
Postat la 2025-3-5 09:46:14 | | | |
Cerințe: Produsul dezvoltat nu poate garanta că nu există erori, chiar dacă nu există probleme în etapa de testare, implementat în mediul de producție, pot apărea situații neașteptate pentru utilizatori, iar același lucru este valabil și pentru paginile front-end. Sentry și Bugsnag sunt ambele produse foarte bune de monitorizare.

recenzie

ASP.NET Core Link Tracing (4) Acces la Jaeger link tracing
https://www.itsvse.com/thread-9537-1-1.html

ASP.NET Core Link Tracing (1) Instalează tutorialul Skywalking
https://www.itsvse.com/thread-9456-1-1.html

După ce am monitorizat informațiile despre anomalii, cum pot trimite datele către API-ul backend? Navigator.sendBeacon este o API pentru trimiterea unor cantități mici de date către server, mai ales atunci când o pagină este pe cale să fie descărcată, cum ar fi logarea, analiza comportamentului utilizatorului etc.

Dacă folosești XHR tradițional pentru a trimite date, trebuie să faci o procesare logică specială pe interfața de urmărire din frontend. Metoda navigator.sendBeacon()Plasează un mesaj într-o coadă de browser astfel încât, chiar dacă trimiterea eșuează, mesajul de eroare să nu fie prins de frontend

Navigator.sendBeacon introdus

Metoda navigator.sendBeacon() trimite o cerere HTTP POST cu o cantitate mică de date către serverul web, asincron. Parametri: url, date (date de tip ArrayBuffer, ArrayBufferView, Blob, DOMString, FormData sau URLSearchParams)

Documentație:

Autentificarea cu hyperlink este vizibilă.
Autentificarea cu hyperlink este vizibilă.

Scenarii de utilizare

Înregistrarea când pagina este dezinstalată: Înregistrează date comportamentale precum timpul de permutare al paginii, comportamentul de click, PV, UV etc. atunci când utilizatorul părăsește pagina.
Analiză și monitorizare: Trimiterea datelor despre comportamentul utilizatorilor către servere de analiză pentru monitorizarea performanței site-ului și analiza comportamentului utilizatorilor.
Raportarea statusului: Raportează statusul aplicației sau informațiile despre eroare către server.

Testa

Codul este următorul:




Care sunt asemănările și diferențele dintre Navigator.sendBeacon și XHR și fetch?

Asemănări

Trimiterea cererilor de rețea: Toate cele trei metode sunt folosite pentru a trimite date de la client către server.
Suport pentru mai multe formate de date: Pot trimite date în diverse formate, cum ar fi stringuri, JSON, date binare etc.

Diferenţele

Navigator.sendBeacon

Este folosit pentru a trimite o cantitate mică de date când pagina este dezinstalată și este potrivit pentru înregistrare, analiza datelor etc.
Trimiterea datelor este asincronă, dar nu returnează nicio informație apelantului și nu poate procesa răspunsul serverului.
Concepută pentru a garanta livrarea datelor atunci când pagina este dezinstalată, chiar și atunci când browserul este închis sau pagina sare.
Folosește întotdeauna cereri HTTPPOST.
Nu este nevoie să procesezi răspunsurile, este simplu de folosit.

XMLHttpRequest

Pentru cereri AJAX mai complexe care necesită răspunsuri de procesare.
Se pot face cereri sincrone sau asincrone.
Poți procesa răspunsul serverului și poți face procesări suplimentare (de exemplu, analizarea JSON-ului, gestionarea codurilor de stare etc.).
Oferă evenimente bogate precum onload, onerror, onprogress etc., pentru a monitoriza diferitele etape ale cererii.
Este larg suportat în toate browserele principale, inclusiv în unele browsere mai vechi.
Este mai complex de utilizat și necesită gestionarea diferitelor etape și stări ale cererii.

Fetch

O interfață modernă de cereri pentru a înlocui XMLHttpRequest pentru o procesare mai simplă și mai flexibilă a cererilor și răspunsurilor.
Fă întotdeauna o cerere asincronă, returnând un obiect Promise.
Suportă răspunsuri de procesare în lanț, făcând ușoară analizarea JSON-ului, codurilor de stare a proceselor și multe altele.
Suportă sintaxa async/await, care este mai apropiată de obiceiurile moderne de dezvoltare JavaScript.
Suport mai bun pentru cererile cross-domain și CORS (Cross-Domain Resource Sharing).
Permite adăugarea mai multor opțiuni la cerere (de exemplu, antet personalizat, metodă de solicitare etc.).

rezumat

Navigator.sendBeacon este un API conceput pentru fiabilitate, în special pentru trimiterea unor cantități mici de date atunci când o pagină este dezinstalată.
Are avantajele simplității, neblocării și fiabilității, fiind deosebit de potrivit pentru scenarii precum jurnalismul și analiza comportamentului utilizatorului.
Se face o cerere asincronă și este o cerere POST.
Poate determina doar dacă este plasată în coada de sarcini a browserului, dar nu poate determina dacă este trimisă cu succes.
Nu este nevoie să te ocupi de valoarea returnării.
Problemele de compatibilitate cu browserele trebuie remarcate.




Precedent:Fuse.js Bibliotecă ușoară de căutare fuzzy front-end (căutare full-text)
Următor:Placa video Ubuntu 24.04 A10 cu driverul NVIDIA instalat
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com