


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:
-
É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. });
-
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!

WebDevelopmentReliesOnHTML, CSS, etjavascript: 1) HTMLSTRUCTURESCONTENT, 2) CSSSTYLESIT, et3) JavascriptAdddsInterActivity, Forming TheasisofmodernweBEBExperiences.

Le rôle de HTML est de définir la structure et le contenu d'une page Web via des balises et des attributs. 1. HTML organise le contenu via des balises telles que, ce qui le rend facile à lire et à comprendre. 2. Utilisez des balises sémantiques telles que, etc. pour améliorer l'accessibilité et le référencement. 3. Optimisation du code HTML peut améliorer la vitesse de chargement des pages Web et l'expérience utilisateur.

Htmlisaspecificypeofcodefocusedonconstructringwebcontent, tandis que "code" en général incluse les langues liés à lajavaScriptandpythonforfonctionnality.1) htmldefineswebpagestructureusingtags.2) "Code" enclueSawidererRangeFlanguageForgicandInteract "

HTML, CSS et JavaScript sont les trois piliers du développement Web. 1. HTML définit la structure de la page Web et utilise des balises telles que, etc. 2. CSS contrôle le style de page Web, en utilisant des sélecteurs et des attributs tels que la couleur, la taille de la police, etc. 3. JavaScript réalise les effets dynamiques et l'interaction, par la surveillance des événements et les opérations DOM.

HTML définit la structure Web, CSS est responsable du style et de la mise en page, et JavaScript donne une interaction dynamique. Les trois exercent leurs fonctions dans le développement Web et construisent conjointement un site Web coloré.

HTML convient aux débutants car il est simple et facile à apprendre et peut rapidement voir les résultats. 1) La courbe d'apprentissage de HTML est fluide et facile à démarrer. 2) Il suffit de maîtriser les balises de base pour commencer à créer des pages Web. 3) Flexibilité élevée et peut être utilisée en combinaison avec CSS et JavaScript. 4) Les ressources d'apprentissage riches et les outils modernes soutiennent le processus d'apprentissage.

Anexampleofastartingtaginhtmlis, qui abinginsaparagraph.startingtagsaressentialtinhtmlastheyinitiateelements, définit les éventualités, et la faculté de réduction des pages et de la construction de la création.

Comment concevoir l'effet de segmentation en pointillés dans le menu? Lors de la conception des menus, il n'est généralement pas difficile d'aligner la gauche et la droite entre le nom et le prix du plat, mais que diriez-vous de la ligne ou du point pointillé au milieu ...


Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

MantisBT
Mantis est un outil Web de suivi des défauts facile à déployer, conçu pour faciliter le suivi des défauts des produits. Cela nécessite PHP, MySQL et un serveur Web. Découvrez nos services de démonstration et d'hébergement.

Dreamweaver Mac
Outils de développement Web visuel

ZendStudio 13.5.1 Mac
Puissant environnement de développement intégré PHP

MinGW - GNU minimaliste pour Windows
Ce projet est en cours de migration vers osdn.net/projects/mingw, vous pouvez continuer à nous suivre là-bas. MinGW : un port Windows natif de GNU Compiler Collection (GCC), des bibliothèques d'importation et des fichiers d'en-tête librement distribuables pour la création d'applications Windows natives ; inclut des extensions du runtime MSVC pour prendre en charge la fonctionnalité C99. Tous les logiciels MinGW peuvent fonctionner sur les plates-formes Windows 64 bits.

SublimeText3 version chinoise
Version chinoise, très simple à utiliser