


Comment faire la distinction entre la fermeture d'un onglet de navigateur et la fermeture du navigateur entier à l'aide de JavaScript?
Apr 04, 2025 pm 10:21 PMJavaScript 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 ...?); }
Grace à 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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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.

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

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

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

ToresolveNetworkConnectivityIssuesInwindows, resetTheTCP / ipstackByFirstopeeningCommandPomptSAdministrator, thenrunningthecommandnetshintipreset, andfinallyrestartingyourcomputertoon

Ethereum est une plate-forme open source décentralisée basée sur la technologie blockchain, qui permet aux développeurs de créer et de déployer des contrats intelligents et des applications décentralisées. Sa crypto-monnaie indigène est Ethereum (ETH), qui est l'une des principales monnaies numériques avec une valeur marchande dans le monde.

OUYI est une plate-forme de trading d'actifs numériques de pointe, offrant aux utilisateurs des services de trading d'actifs numériques s?rs, stables et fiables, et prend en charge les transactions spot et dérivées de divers actifs numériques traditionnels tels que Bitcoin (BTC), Ethereum (ETH). Sa solide équipe technique et son système de contr?le des risques sont déterminés à protéger chaque transaction d'utilisateurs.

EnableApplockViagProupolicyByopeeningGpedit.msc, naviguer pour appliquer les contr?les, création de Defaultrules, et Configuratruletypes; 2.CreateCustomRulesusingPublisher

Ethereum est une plate-forme publique open source décentralisée basée sur la technologie blockchain. Il permet aux développeurs de créer et de déployer des contrats intelligents et des applications décentralisées. Ethereum (ETH) est une crypto-monnaie native de la plate-forme Ethereum. Ce n'est pas seulement le "carburant" sur la plate-forme, mais aussi l'un des principaux actifs numériques avec une valeur marchande dans le monde. Ses fluctuations de prix ont attiré beaucoup l'attention des investisseurs.

Toncoin (Ton) est une blockchain de premier niveau décentralisée con?ue à l'origine par l'équipe Telegram. Il est connu pour ses fonctionnalités hautes performances, à faible co?t et conviviale, et vise à fournir une plate-forme de réseau ouverte pour des milliards d'utilisateurs du monde entier. Sa tonne de token native est utilisée dans le réseau pour payer les frais de transaction, s'engager et participer à la gouvernance du réseau.

Dogecoin, le nom anglais est Dogecoin, appelé Doge, est né en 2013. Il a été créé à l'origine comme une blague basée sur les mèmes Web "Doge" populaires, mais a rapidement développé une communauté énorme et active qui est devenue une monnaie numérique largement acceptée. Dogecoin est connu pour sa culture communautaire amicale et ses frais de transaction relativement bas, et est souvent utilisé pour les récompenses et quelques petits scénarios de paiement sur les plateformes sociales.

Binance est la principale plateforme de trading d'actifs numériques au monde, offrant aux utilisateurs des services de trading de crypto-monnaie sécurisés, stables et pratiques. Il prend en charge la transaction d'une variété de monnaies numériques et fournit des fonctions spot, contractes et autres.
