Dit artikel is een spiegelartikel van machinevertaling, klik hier om naar het oorspronkelijke artikel te gaan.

Bekijken: 1289|Antwoord: 0

[Overig] De navigator.sendBeacon()-methode voor front-end puntmonitoring en -tracking

[Link kopiëren]
Geplaatst op 5-3-2025 09:46:14 | | | |
Eisen: Het ontwikkelde product kan niet garanderen dat er geen bugs zijn, zelfs als er geen problemen zijn in de testfase, geïmplementeerd in de productieomgeving, er kunnen onverwachte situaties optreden voor gebruikers, en hetzelfde geldt voor front-end pagina's. Sentry en Bugsnag zijn allebei zeer goede monitoringsproducten.

recensie

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

ASP.NET Core Link Tracing (1) Installeer de Skywalking-tutorial
https://www.itsvse.com/thread-9456-1-1.html

Hoe stuur ik na het monitoren van de anomalie-informatie de data naar de backend-API? Navigator.sendBeacon is een API voor het verzenden van kleine hoeveelheden data naar de server, vooral wanneer een pagina op het punt staat te worden uitgevoerd, zoals bij logging, gebruikersgedragsanalyse, enzovoort.

Als je traditionele XHR gebruikt om data te verzenden, moet je speciale logische verwerking doen op de trackinginterface van de frontend. navigator.sendBeacon()-methodePlaats een bericht in een browserwachtrij zodat zelfs als de verzending mislukt, het foutbericht niet door de frontend wordt opgemerkt

Navigator.sendBeacon geïntroduceerd

De navigator.sendBeacon()-methode stuurt een HTTP POST-verzoek met een kleine hoeveelheid data asynchroon naar de webserver. Parameters: url, data (data van het type ArrayBuffer, ArrayBufferView, Blob, DOMString, FormData of URLSearchParams)

Documentatie:

De hyperlink-login is zichtbaar.
De hyperlink-login is zichtbaar.

Gebruiksscenario's

Logging wanneer de pagina wordt verwijderd: Registreert gedragsgegevens zoals pagina-verblijftijd, klikgedrag, PV, UV, enzovoort wanneer de gebruiker de pagina verlaat.
Analytics en monitoring: Het verzenden van gebruikersgedragsgegevens naar analyticsservers voor websiteprestatiemonitoring en gebruikersgedragsanalyse.
Statusrapportage: Rapporteert de status of foutinformatie van de applicatie aan de server.

Test

De code is als volgt:




Wat zijn de overeenkomsten en verschillen tussen Navigator.sendBeacon en XHR en fetch?

Overeenkomsten

Netwerkverzoeken verzenden: Alle drie de methoden worden gebruikt om data van de client naar de server te sturen.
Ondersteuning voor meerdere dataformaten: Ze kunnen data verzenden in verschillende formaten zoals strings, JSON, binaire data, enzovoort.

Verschillen

Navigator.sendBeacon

Het wordt gebruikt om een kleine hoeveelheid data te verzenden wanneer de pagina wordt verwijderd, en is geschikt voor loggen, data-analyse, enzovoort.
Het verzenden van data is asynchroon, maar geeft geen informatie terug aan de aanroeper en kan het antwoord van de server niet verwerken.
Ontworpen om gegevenslevering te garanderen wanneer de pagina wordt verwijderd, zelfs als de browser gesloten is of de pagina springt.
Gebruik altijd HTTPPOST-verzoeken.
Geen reacties hoeven te verwerken, eenvoudig in gebruik.

XMLHttpRequest

Voor complexere AJAX-verzoeken die verwerking van antwoorden vereisen.
Synchrone of asynchrone verzoeken kunnen worden gedaan.
Je kunt het antwoord van de server verwerken en verdere verwerking uitvoeren (bijvoorbeeld JSON parsen, statuscodes verwerken, enzovoort).
Biedt uitgebreide gebeurtenissen zoals onload, onerror, onprogress, enzovoort, om de verschillende fasen van het verzoek te monitoren.
Breed ondersteund in alle grote browsers, inclusief enkele oudere browsers.
Het is complexer in gebruik en vereist het afhandelen van de verschillende fasen en toestanden van het verzoek.

Halen

Een moderne verzoekinterface ter vervanging van XMLHttpRequest voor eenvoudigere en flexibelere verwerking van verzoeken en antwoorden.
Voer altijd een asynchrone aanvraag uit en geef een Promise-object terug.
Het ondersteunt geketende verwerkingsreacties, waardoor het eenvoudig is om JSON, statuscodes en meer te verwerken.
Ondersteunt async/await-syntaxis, wat meer aansluit bij moderne JavaScript-ontwikkelingsmethodes.
Betere ondersteuning voor cross-domain verzoeken en CORS (Cross-Domain Resource Sharing).
Maakt het mogelijk om meer opties aan het verzoek toe te voegen (bijv. aangepaste header, requestmethode, enz.).

samenvatting

Navigator.sendBeacon is een API die is ontworpen voor betrouwbaarheid, vooral voor het verzenden van kleine hoeveelheden data wanneer een pagina wordt verwijderd.
Het heeft de voordelen van eenvoud, niet-blokkering en betrouwbaarheid, en is vooral geschikt voor scenario's zoals logging en gebruikersgedraganalyse.
Er wordt een asynchroon verzoek gedaan en is een POST-verzoek.
Het kan alleen bepalen of het in de browsertaakwachtrij is geplaatst, maar kan niet bepalen of het succesvol is verzonden.
Er is geen noodzaak om met de retourwaarde om te gaan.
Problemen met browsercompatibiliteit moeten worden opgemerkt.




Vorig:Fuse.js Front-end lichtgewicht fuzzy zoekbibliotheek (full-text zoekopdracht)
Volgend:Ubuntu 24.04 grafische kaart A10 met een NVIDIA-driver geïnstalleerd
Disclaimer:
Alle software, programmeermaterialen of artikelen die door Code Farmer Network worden gepubliceerd, zijn uitsluitend bedoeld voor leer- en onderzoeksdoeleinden; De bovenstaande inhoud mag niet worden gebruikt voor commerciële of illegale doeleinden, anders dragen gebruikers alle gevolgen. De informatie op deze site komt van het internet, en auteursrechtconflicten hebben niets met deze site te maken. Je moet bovenstaande inhoud volledig van je computer verwijderen binnen 24 uur na het downloaden. Als je het programma leuk vindt, steun dan de echte software, koop registratie en krijg betere echte diensten. Als er sprake is van een inbreuk, neem dan contact met ons op via e-mail.

Mail To:help@itsvse.com