JavaScript
Wysyłanie "requestu" przy zamykaniu karty
Czasami trzeba wysłać dane na serwer, nawet jeśli użytkownik zamyka stronę. Wykorzystanie zdarzeń unload i beforeunload jest problematyczne, bo przeglądarki mogą nie wysyłać asynchronicznych żądań w tych momentach. Lepiej użyć Navigator.sendBeacon() [docs], który wysyła dane asynchronicznie i niezawodnie.
Oto przykład z visibilitychange:
document.addEventListener("visibilitychange", () => {
  if (document.visibilityState === "hidden") {
    navigator.sendBeacon("/log", new URLSearchParams({ event: "pagehide" }));
  }
});MetodasendBeacon gwarantuje wysyłkę danych bez opóźnień, nawet przy zamykaniu kart.
Przeczytaj więcej na ten temat tutaj.