JavaScript, Browser und Fensterschließen: Verfolgen des Verlassens des Benutzers
Das Verfolgen des Verlassens des Benutzers ist wichtig für die Erfassung von Daten und die Durchführung von Aktionen, bevor ein Benutzer das Unternehmen verlässt eine Seite. Während die Überwachung von Navigationsereignissen relativ einfach ist, stellt das Erkennen von Fensterschließungen oder URL-Änderungen ohne Benutzerinteraktion eine Herausforderung dar.
Fensterschließungsereignisse erfassen
Die Beacon-API, verfügbar in modern Browser, bietet eine Lösung. Beacon-Anfragen sind so konzipiert, dass sie auch dann ausgeführt werden, wenn ein Benutzer eine Seite abrupt verlässt, um sicherzustellen, dass kritische Aktionen weiterhin ausgeführt werden können.
Um die Beacon-API zu nutzen, verwenden Sie das folgende Code-Snippet:
var url = "https://example.com/foo"; var data = "bar"; navigator.sendBeacon(url, data);
Alternativen für ältere Browser
Wenn die Unterstützung älterer Browser erforderlich ist, bietet das VisibilityChange-Ereignis einen Fallback. Der Übergang von „passiv“ zu „versteckt“ bedeutet in diesem Fall den bevorstehenden Abgang des Benutzers. Hier ist ein Beispiel:
document.addEventListener('visibilitychange', function() { if (document.visibilityState === "hidden") { // Perform desired actions (e.g., send beacon request) } });
Zuverlässigkeit und Adblocker
Visibilitychange ist zu einem zuverlässigen Indikator für den Benutzerausstieg in modernen Browsern geworden. Allerdings können Adblocker Beacon-Anfragen stören, insbesondere wenn sie ursprungsübergreifend sind oder von bekannten Tracking-Domains stammen.
Cross-Site-Überlegungen
Beacon-Anfragen sind POST-Anfragen, die respektieren CORS-Einschränkungen. Stellen Sie bei standortübergreifenden Anfragen sicher, dass diese die erforderlichen Anforderungen erfüllen, um eine Blockierung durch den Browser zu vermeiden.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3