JavaScript, navigateurs et fermeture de fenêtres : suivi du départ des utilisateurs
Le suivi du départ des utilisateurs est essentiel pour capturer des données et effectuer des actions avant qu'un utilisateur ne parte une page. Bien que la surveillance des événements de navigation soit relativement simple, la détection des fermetures de fenêtres ou des modifications d'URL sans interaction de l'utilisateur pose un défi.
Capturer l'événement de fermeture de fenêtre
L'API Beacon, disponible dans les versions modernes navigateurs, fournit une solution. Les requêtes Beacon sont conçues pour s'exécuter même lorsqu'un utilisateur quitte brusquement une page, garantissant ainsi que les actions critiques peuvent toujours être effectuées.
Pour utiliser l'API Beacon, utilisez l'extrait de code suivant :
var url = "https://example.com/foo"; var data = "bar"; navigator.sendBeacon(url, data);
Alternatives pour les navigateurs plus anciens
Si la prise en charge des navigateurs plus anciens est nécessaire, l'événement visibilitéchange propose une solution de secours. Le passage de « passif » à « caché » dans cet événement signifie le départ imminent de l'utilisateur. Voici un exemple :
document.addEventListener('visibilitychange', function() { if (document.visibilityState === "hidden") { // Perform desired actions (e.g., send beacon request) } });
Fiabilité et bloqueurs de publicités
Le changement de visibilité est devenu un indicateur fiable de la sortie des utilisateurs dans les navigateurs modernes. Cependant, les bloqueurs de publicités peuvent interférer avec les demandes de balises, en particulier si elles sont d'origine croisée ou proviennent de domaines de suivi connus.
Considérations intersites
Les demandes de balises sont des demandes POST qui respectent Restrictions CORS. Lorsque vous effectuez des requêtes intersites, assurez-vous qu'elles répondent aux exigences nécessaires pour éviter le blocage par le navigateur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!