recherche
Maisoninterface Webtutoriel HTMLComment faire la distinction entre la fermeture d'un onglet de navigateur et la fermeture du navigateur entier à l'aide de JavaScript?

Comment faire la distinction entre la fermeture d'un onglet de navigateur et la fermeture du navigateur entier à l'aide de JavaScript?

JavaScript distingue la fermeture de l'onglet du navigateur et la fermeture complète du navigateur

Dans l'utilisation quotidienne de la navigation multi-gabarits, les utilisateurs peuvent avoir besoin de fermer un seul onglet ou l'ensemble du navigateur. Dans certains scénarios d'application, par exemple, une action spécifique est requise lorsque le navigateur est complètement fermé (tel que la compensation des informations de connexion), mais pas lors de la fermeture d'un seul onglet. Cet article explorera comment utiliser JavaScript pour distinguer ces deux situations et fournir des solutions correspondantes.

Description du problème

Supposons que l'application Web que nous avons développée s'exécute sur le navigateur Chrome sur le système Windows. L'exigence consiste à effacer les informations de connexion lorsque l'utilisateur ferme tout le navigateur, tout en gardant les informations de connexion inchangées lors de la fermeture d'un seul onglet. Comment implémenter cette fonction?

Solution

Nous pouvons utiliser l'objet sessionStorage de HTML5 pour résoudre ce problème. sessionStorage permet de stocker les données de paire de valeurs de clé dans la même session. Lors de la fermeture du navigateur, les données de sessionStorage seront effacées, tandis que la fermeture d'un seul onglet n'affectera pas les données sessionStorage des autres onglets.

Les étapes de mise en œuvre spécifiques sont les suivantes:

  1. Écoutez l'événement de fermeture du navigateur: utilisez l'événement beforeunload pour écouter le fonctionnement de fermeture ou de fermeture du navigateur.

     window.addeventListener ('avant en charge', fonction (e) {
         // Ajouter du code pour effacer les informations de connexion ici, mais il convient de noter que l'exécution directement ici peut également conduire à une compensation lors de la fermeture de l'onglet.
     });
  2. Utilisez SessionStorage pour distinguer le comportement de clôture: lorsque chaque onglet est chargé, définissez un élément sessionStorage et vérifiez si l'élément existe lorsqu'il est fermé. S'il existe, cela signifie que la page d'onglet est fermée; S'il n'existe pas, cela signifie que le navigateur entier est fermé.

     // Définir ses sessionStorage lorsque la page se charge
     window.addeventListener ('Load', function () {
         SessionStorage.SetItem ('Tabopen', 'True');
     });
    
     // Vérifiez SessionStorage lorsqu'il est fermé
     window.addeventListener ('avant en charge', fonction (e) {
         if (! SessionStorage.getItem ('Tabopen')) {
             // Effacer les informations de connexion clearLoginInfo ();
         } autre {
             // Supprimer l'élément SessionStorage SessionStorage.RemoveItem ('tabopen');
         }
     });
    
     fonction clearlogininfo () {
         // Ajouter le code pour effacer les informations de connexion ici à Console.log («Effacer des informations de connexion ...»);
     }

Grâce à la méthode ci-dessus, nous pouvons distinguer efficacement entre la fermeture de la page d'onglet et la fermeture du navigateur, et effectuer le fonctionnement de l'effacement des informations de connexion lorsque le navigateur est complètement fermé, tandis que cette opération ne sera pas effectuée lors de la fermeture d'une seule page d'onglet. Il convient de noter que l'événement beforeunload peut être intercepté ou retardé par le navigateur, en fonction de l'implémentation spécifique du navigateur et des paramètres utilisateur. Pour améliorer la fiabilité, d'autres technologies, telles que la gestion de session côté serveur, peuvent être prises en compte.

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!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
HTML, CSS et JavaScript: exemples et applications pratiquesHTML, CSS et JavaScript: exemples et applications pratiquesMay 09, 2025 am 12:01 AM

Les rôles de HTML, CSS et JavaScript dans le développement Web sont: 1. HTML est utilisé pour créer une structure de page Web; 2. CSS est utilisé pour embellir l'apparence des pages Web; 3. JavaScript est utilisé pour obtenir une interaction dynamique. Grâce à des balises, des styles et des scripts, ces trois créent ensemble les fonctions principales des pages Web modernes.

Comment définissez-vous l'attribut Lang sur la balise ? Pourquoi est-ce important?Comment définissez-vous l'attribut Lang sur la balise ? Pourquoi est-ce important?May 08, 2025 am 12:03 AM

La définition des attributs Lang d'une balise est une étape clé dans l'optimisation de l'accessibilité Web et du référencement. 1) Définissez l'attribut Lang dans la balise, comme. 2) Dans le contenu multilingue, définissez les attributs Lang pour différentes parties de langue, telles que. 3) Utilisez des codes linguistiques conformes aux normes ISO639-1, telles que "EN", "FR", "ZH", etc. La définition correcte de l'attribut Lang peut améliorer l'accessibilité des pages Web et des classements de moteur de recherche.

Quel est le but des attributs HTML?Quel est le but des attributs HTML?May 07, 2025 am 12:01 AM

HtmlattributesAsAntinelEntialFormenhancingWelements's-ctionality et appareil.EyyAddInformationTodeFineBehavior, Apparence et Interaction, faisant des websites interactifs, réactifs, et visuellement.

Comment créez-vous une liste dans HTML?Comment créez-vous une liste dans HTML?May 06, 2025 am 12:01 AM

TOCRÉATEALISTINHTML, USEFORDORDEDRILST ANDFORODEREDLISTS: 1) ForunDorDedlists, webrotemsinandUseForEachItem, Renderingasabulletedlist.2) FororderDlists, useAndFornumberredlists, personnalisable withthepeTypeTrributeforDiferentNumberStyles.

HTML en action: Exemples de structure de site WebHTML en action: Exemples de structure de site WebMay 05, 2025 am 12:03 AM

HTML est utilisé pour créer des sites Web avec une structure claire. 1) Utilisez des balises telles que et définissez la structure du site Web. 2) Les exemples montrent la structure des blogs et des sites Web de commerce électronique. 3) Évitez les erreurs courantes telles que la nidification incorrecte des étiquettes. 4) Optimiser les performances en réduisant les demandes HTTP et en utilisant des balises sémantiques.

Comment insérer une image dans une page HTML?Comment insérer une image dans une page HTML?May 04, 2025 am 12:02 AM

ToinsertanimageIntoanhtmlpage, usethetagwithsrcandalttributes.1) usealttextforaccessibility and

Objectif de HTML: permettant aux navigateurs Web d'afficher du contenuObjectif de HTML: permettant aux navigateurs Web d'afficher du contenuMay 03, 2025 am 12:03 AM

L'objectif principal de HTML est de permettre au navigateur de comprendre et d'afficher le contenu Web. 1. HTML définit la structure et le contenu de la page Web via des balises, telles que, à, etc. 2. HTML5 améliore la prise en charge multimédia et les introductions et les balises. 3.HTML fournit des éléments de formulaire pour prendre en charge l'interaction utilisateur. 4. Optimisation du code HTML peut améliorer les performances de la page Web, telles que la réduction des demandes HTTP et la compression de HTML.

Pourquoi les balises HTML sont-elles importantes pour le développement Web?Pourquoi les balises HTML sont-elles importantes pour le développement Web?May 02, 2025 am 12:03 AM

HtmltagsaressentialforwebDevelopmentaSheystructureAnDenHanceWebpages.1) TheyDefiLlayout, Semantics et Interactivité.2) SemanctagSimproveaccessibilistibilitySeo.3) correct usUsoftagscanoptimizeperformanceAndensurecross-browercompatibilité.

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Navigateur d'examen sécurisé

Navigateur d'examen sécurisé

Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

Dreamweaver Mac

Dreamweaver Mac

Outils de développement Web visuel

Listes Sec

Listes Sec

SecLists est le compagnon ultime du testeur de sécurité. Il s'agit d'une collection de différents types de listes fréquemment utilisées lors des évaluations de sécurité, le tout en un seul endroit. SecLists contribue à rendre les tests de sécurité plus efficaces et productifs en fournissant facilement toutes les listes dont un testeur de sécurité pourrait avoir besoin. Les types de listes incluent les noms d'utilisateur, les mots de passe, les URL, les charges utiles floues, les modèles de données sensibles, les shells Web, etc. Le testeur peut simplement extraire ce référentiel sur une nouvelle machine de test et il aura accès à tous les types de listes dont il a besoin.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)