


Wie unterscheidet ich zwischen dem Schließen eines Browser -Registerkartens und dem Schließen des gesamten Browsers mit JavaScript?
JavaScript unterscheidet das Schließen des Browser -Registerkartens und das vollständige Schließen des Browsers
Bei der täglichen Verwendung von Multi-Tabs-Browsen müssen Benutzer möglicherweise eine einzelne Registerkarte oder den gesamten Browser schließen. In einigen Anwendungsszenarien ist beispielsweise eine bestimmte Aktion erforderlich, wenn der Browser vollständig geschlossen ist (z. B. Löschen von Anmeldeinformationen), jedoch nicht beim Schließen einer einzigen Registerkarte. In diesem Artikel wird untersucht, wie JavaScript verwendet wird, um zwischen diesen beiden Situationen zu unterscheiden und entsprechende Lösungen zu liefern.
Problembeschreibung
Angenommen, die Webanwendung, die wir entwickelt haben, läuft im Chrome -Browser im Windows -System. Die Anforderung besteht darin, die Anmeldeinformationen zu löschen, wenn der Benutzer den gesamten Browser schließt, während die Anmeldeinformationen beim Schließen einer einzigen Registerkarte unverändert bleiben. Wie implementiere ich diese Funktion?
Lösung
Wir können das sessionStorage
-Objekt von HTML5 verwenden, um dieses Problem zu lösen. Mit sessionStorage
können Schlüsselwertpaardaten in derselben Sitzung gespeichert werden. Beim Schließen des Browsers werden die Daten in sessionStorage
gelöscht, während das Schließen einer einzigen Registerkarte die sessionStorage
-Daten anderer Registerkarten nicht beeinflusst.
Die spezifischen Implementierungsschritte sind wie folgt:
-
Hören Sie sich das Browser Close -Ereignis an: Verwenden Sie das
beforeunload
-Ereignis, um den Browser -Schließ oder die Registerkarte Schließung anzuhören.window.adDeVentListener ('voranladung', Funktion (e) { // Code hinzufügen, um Anmeldeinformationen hier zu löschen, aber es ist zu beachten, dass die direkte Ausführung auch beim Schließen der Registerkarte auch zum Löschen führen kann. });
Nach dem Login kopieren -
Verwenden Sie SessionStorage, um das Schließverhalten zu unterscheiden: Wenn jede Registerkarte geladen wird, legen Sie ein
sessionStorage
-Element fest und überprüfen Sie, ob das Element bei der Schließung vorhanden ist. Wenn es existiert, bedeutet dies, dass die Registerkartenseite geschlossen ist. Wenn es nicht existiert, bedeutet dies, dass der gesamte Browser geschlossen ist.// SessionStorage festlegen, wenn die Seite geladen wird window.addeventListener ('laden', function () { SessionStorage.SetItem ('tabopen', 'true'); }); // SessionStorage überprüfen, wenn sie geschlossen sind window.adDeVentListener ('voranladung', Funktion (e) { if (! sessionStorage.getItem ('tabopen')) { // Anmeldeinformationen ClearLogininfo (); } anders { // SessionStorage item SessionStorage.removeItem ('tabopen') entfernen; } }); Funktion clearLogininfo () { // Fügen Sie den Code hinzu, um die Anmeldeinformationen hier zu Console.log zu löschen ('Löschen von Anmeldeinformationen ...'); }
Nach dem Login kopieren
Durch die obige Methode können wir effektiv zwischen dem Schließen der Registerkartenseite und dem Schließen des Browsers unterscheiden und den Betrieb der Löschung der Anmeldeinformationen durch vollständig geschlossene Browser durchführen, während dieser Vorgang beim Schließen einer einzelnen Registerkartenseite nicht durchgeführt wird. Es ist zu beachten, dass das beforeunload
Ereignis vom Browser abhängig von der spezifischen Implementierung der Browser- und Benutzereinstellungen abgefangen oder verzögert werden kann. Um die Zuverlässigkeit zu verbessern, können andere Technologien wie das serverseitige Sitzungsmanagement berücksichtigt werden.
Das obige ist der detaillierte Inhalt vonWie unterscheidet ich zwischen dem Schließen eines Browser -Registerkartens und dem Schließen des gesamten Browsers mit JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











Die Ouyi Exchange -App unterstützt das Herunterladen von Apple Mobile Phones, besuchen Sie die offizielle Website, klicken Sie auf die Option "Apple Mobile", erhalten und installieren sie im App Store, registrieren oder melden Sie sich an, um Kryptowährungshandel durchzuführen.

Um die Binance-App sicher herunterzuladen, müssen Sie die offiziellen Kanäle durchlaufen: 1. Besuchen Sie die offizielle Website von Binance, 2. finden und klicken Sie auf das App-Download-Portal, 3. Sie wählen, um den QR-Code zu scannen, den App Store direkt zu scannen, oder laden Sie die APK-Datei direkt herunter, um sicherzustellen, dass die Link- und Entwicklerinformationen authentisch sind und zwei Faktor-Überprüfungen zum Schutz der Sicherheit des Kontos ermöglichen.

Sesam Open Door ist eine Plattform, die sich auf den Kryptowährungshandel konzentriert. Benutzer können Portale über offizielle Websites oder soziale Medien erhalten, um sicherzustellen, dass die Authentizität von SSL -Zertifikaten und Website -Inhalten während des Zugriffs überprüft wird.

Wählen Sie eine zuverlässige Handelsplattform wie Okex, um den Zugang zum offiziellen Eingang zu gewährleisten.

Besuchen Sie die offizielle Website Binance und überprüfen Sie HTTPS und Green Lock -Logos, um Phishing -Websites zu vermeiden, und offizielle Anwendungen können auch sicher zugegriffen werden.

Die Handhabung der hohen DPI -Anzeige in C kann in den folgenden Schritten erreicht werden: 1) Verstehen Sie DPI und Skalierung, verwenden Sie die Betriebssystem -API, um DPI -Informationen zu erhalten und die Grafikausgabe anzupassen. 2) Übereinstimmende Kompatibilität verarbeiten, plattformübergreifende Grafikbibliotheken wie SDL oder QT verwenden. 3) Leistungsoptimierung durchführen, die Leistung durch Cache, Hardwarebeschleunigung und dynamische Anpassung der Detail -Ebene verbessern; 4) Lösen Sie gemeinsame Probleme wie verschwommene Text- und Schnittstellenelemente sind zu klein und lösen Sie durch korrektes Anwenden der DPI -Skalierung.

Befolgen Sie die folgenden Schritte, um MySQL sicher und gründlich zu deinstallieren und alle Restdateien zu reinigen: 1. MySQL Service; 2. MySQL -Pakete deinstallieren; 3.. Konfigurationsdateien und Datenverzeichnisse; 4. Überprüfen Sie, ob die Deinstallation gründlich ist.

Probleme mit nativen Auswahl von Mobiltelefonen Bei der Entwicklung von Anwendungen auf mobilen Geräten stellen wir häufig Szenarien auf, in denen Benutzer Entscheidungen treffen müssen. Obwohl einheimische SEL ...
