Categorie
JavaScript Web development

sendBeacon() in JavaScript: cosa è, come si usa

sendBeacon è un metodo disponibile in JavaScript che consente di inviare dati in modo asincrono e non bloccante al server.

È particolarmente utile per tracciare eventi, inviare analitiche o salvare dati quando una pagina sta per chiudersi, evitando che la richiesta venga interrotta dal browser.

Viene spesso utilizzato congiuntamente all’evento visibilitychange dell’oggetto document di JavaScript.

sendBeacon(): perché utilizzarlo

Se vuoi inviare dati al server quando una applicazione web è prossima ad essere chiusa, utilizzare i metodi tradizionali per effettuare chiamate AJAX non è una buona idea.

Utilizzando infatti questi metodi, non è garantito il fatto che il dato giunga al server prima che la pagina venga effettivamente chiusa.

sendBeacon() è stato implementato proprio per fornire un metodo affidabile per comunicare dati al server in situazioni come quelle che ho descritto.

Come si usa sendBeacon() in JavaScript

Il metodo sendBeacon() è disponibile nell’oggetto window.navigator di JavaScript.

sendBeacon(url);
sendBeacon(url, data);

Il campo data può essere un ArrayBuffer, un TypedArray, un DataView, un Blob, un oggetto standard, un FormData oppure un URLSearchParams, contenente le informazioni dal mandare al server.

Puoi trovare altre informazioni sulla pagina di MDN dedicata a sendBeacon.

Video di esempio

In questo video utilizzerò sendBeacon() congiuntamente all’evento visibilitychange dell’oggetto document.

Se questo video fosse stato di tuo interesse, potresti valutare di iscriverti al canale YouTube.

Approfondimenti

Su questo sito sono presenti numerosi contenuti relativi a JavaScript ed allo sviluppo web.

Eccone alcuni:

Conclusioni

L’uso di sendBeacon in JavaScript è una soluzione ideale per inviare dati senza interferire con l’esperienza utente, specialmente in scenari come analisi di traffico, logging di eventi e tracciamento delle sessioni.

Tuttavia, è importante essere consapevoli delle sue limitazioni e usarlo nei contesti appropriati per massimizzarne l’efficacia.

Lascia un commento