


Utilisez JavaScript pour détecter l'état des utilisateurs en ligne / hors ligne
Cet article vise à aider les développeurs à résoudre les problèmes rencontrés lors de l'utilisation de JavaScript pour détecter le statut en ligne / hors ligne des utilisateurs. Nous plongerons sur la façon de tirer parti de la propriété Navigator.online et des événements en ligne / hors ligne, et fournir des exemples de code montrant comment implémenter correctement la détection d'état et comment mettre à jour dynamiquement les icônes de l'état de l'utilisateur via les styles CSS. Grâce à cet article, vous pourrez créer un mécanisme de détection de statut fiable en ligne / hors ligne pour améliorer l'expérience utilisateur.
Comprendre les événements Navigator.online et en ligne / hors ligne
La propriété Navigator.online est une valeur booléenne indiquant si le navigateur est en ligne. Cependant, il convient de noter que cet attribut indique uniquement si le navigateur peut accéder au réseau et ne garantit pas si l'utilisateur peut réellement accéder à Internet. Par exemple, un utilisateur peut être connecté à un LAN sans connexion Internet, et Navigator.online renvoie toujours vrai.
Les événements en ligne et hors ligne sont licenciés lorsque le navigateur se connecte au réseau et déconnecte le réseau, respectivement. En écoutant ces deux événements, nous pouvons mettre à jour le statut en ligne de l'utilisateur en temps réel.
Correction du problème dans le code
Le code d'origine a les problèmes suivants:
- Mauvais nom de l'événement: l'événement de statut_online inexistant est utilisé et le nom d'événement correct est en ligne.
- ID d'élément manquant: il n'y a pas d'élément dans HTML avec ID User_Status, ce qui fait que JavaScript ne parvienne pas à obtenir l'élément.
- Nom de classe incorrect Fonctionnement: Utilisation user_status.classname = condition d'écraser le nom de la classe User_Status d'origine, ce qui entraînera une valide du style CSS.
Exemples de code améliorés
Voici un exemple de code amélioré qui résout le problème ci-dessus:
Javascript:
const user_status = document.getElementById ("user_status"); fonction updateOnlinestatus (événement) { Soit condition = navigator.online? "en ligne": "hors ligne"; // Utilisez un ensemble de données pour définir l'attribut d'état user_status.dataset.status = condition; Console.log ("Event:" Event.Type ", statut:" Condition); } window.addeventListener («en ligne», UpdateOnlinestatus); window.addeventListener ('offline', updateOnlineStatus); // Définissez l'état initial UpdateOnlineStatus ({});
CSS:
/ * ------------------------------------------------------------------------------------------------------------------------------ / * Icône de l'état de l'utilisateur -------------------------------------------------------------------------------------------------------------------------------- .user_status { Position: absolue; contenu: ""; hauteur: 14px; Largeur: 14px; Color d'arrière-plan: # C0C0C0; en bas: 0; à droite: 0; Affichage: bloc; Border: 2,5px solide #ffff; Border-Radius: 50%; / * Visibilité: cachée; peut être supprimé car l'état par défaut a été reflété par la couleur d'arrière-plan * / } .user_status [data-status = "en ligne"] { Color d'arrière-plan: # 38B653; Visibilité: visible; } / * Ignorer ce style, voici juste pour l'exhaustivité * / .profile_avatar { Affichage: bloc en ligne; Position: relative; }
HTML:
<div class="profil_avatar"> <div class="profil_avatar_holder"> <img src="https://lh3.googleusercontent.com/taykg37gwdgy-fgkdogdvshsjmugrmvkuvrt6yr-5unkkvgrg%20Kerlpgyxlslocs0txlfudgw59jgtzadknxbmqnh6atvcv9exyb8nhp80ysrna0yw%20=%20w102-h68-n-l50-sg-rj%20" alt=""> </div> <div id="user_statu" class="user_status"> </div> </div>
Explication du code:
- Javascript:
- Utilisez document.getElementById ("user_status") pour obtenir l'élément d'icône d'état.
- La fonction UpdateOnlineStatus définit la propriété Data-Status en fonction de la valeur de Navigator.online, avec la valeur "en ligne" ou "hors ligne".
- Écoutez des événements en ligne et hors ligne et appelez la fonction UpdateOnlinestatus lorsque l'événement est déclenché.
- Lorsque la page est chargée, appelez UpdateLenestatus ({}) pour définir l'état initial.
- CSS:
- Utilisez le sélecteur [Data-Status = "Online"] pour définir différents styles en fonction de la valeur de la propriété Data-Status. Lorsque le statut de données est "en ligne", l'icône d'état vert s'affiche.
- HTML:
- Ajout d'un élément div avec id = "user_status" pour afficher l'icône d'état.
Avantages de l'utilisation de l'attribut de statut de données
L'utilisation de la propriété Data-Status au lieu de modifier le nom de classe a directement les avantages suivants:
- Évitez d'écraser le nom de classe d'origine: il n'affectera pas le nom de classe d'origine de l'élément et assurera l'intégrité du style CSS.
- Facile à développer: si plus d'état est nécessaire, de nouvelles valeurs de statut de données peuvent être facilement ajoutées et des styles correspondants sont ajoutés dans CSS.
- Le code est plus lisible: l'attribut de statut de données peut clairement exprimer l'état d'un élément.
Choses à noter
- L'attribut Navigator.online et l'événement en ligne / hors ligne ne peuvent détecter que si le navigateur peut accéder au réseau et ne peut garantir si l'utilisateur peut réellement accéder à Internet.
- Sur les appareils mobiles, le déclenchement de l'événement en ligne / hors ligne peut être affecté par le mode d'économie d'alimentation de l'appareil.
- Pour améliorer l'expérience utilisateur, vous pouvez ajouter des informations rapides sur l'icône d'état, telles que "en ligne" ou "hors ligne".
Résumer
Cet article décrit comment utiliser JavaScript pour détecter l'état en ligne / hors ligne de l'utilisateur et fournit un exemple de code complet. En utilisant correctement l'attribut Navigator.online et les événements en ligne / hors ligne, et en utilisant rationnellement les styles CSS, nous pouvons créer un mécanisme de détection d'état fiable en ligne / hors ligne pour améliorer l'expérience utilisateur. N'oubliez pas que Navigator.online signifie seulement si le navigateur peut accéder au réseau. Un jugement plus précis exige que le backend coopère avec la détection du rythme cardiaque.
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.

Stock Market GPT
Recherche d'investissement basée sur l'IA pour des décisions plus intelligentes

Clothoff.io
Dissolvant de vêtements AI

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)

Tout d'abord, vérifiez si le chemin d'attribut SRC est correct et assurez-vous que le chemin relatif ou absolu correspond à l'emplacement du fichier HTML; 2. Vérifiez si le nom de fichier et l'extension sont correctement orthographiés et sensibles à la casse; 3. Confirmez que le fichier image existe réellement dans le répertoire spécifié; 4. Utilisez les attributs ALT appropriés et assurez-vous que le format d'image est .jpg, .png, .gif ou .webp largement pris en charge par le navigateur; 5. Dépannage des problèmes de cache du navigateur, essayez de forcer la rafraîchissement ou d'accès directement à l'URL de l'image; 6. Vérifiez les paramètres d'autorisation du serveur pour vous assurer que le fichier peut être lu et non bloqué; 7. Vérifiez que la syntaxe de balise IMG est correcte, y compris les devis et les bons d'attribut corrects, et enfin dépanner les erreurs 404 ou les problèmes de syntaxe via l'outil de développeur du navigateur pour s'assurer que l'image est affichée normalement.

Ce didacticiel explore le problème de l'échec rampant si JavaScript charge dynamiquement du contenu lorsque les URL rampantes à partir des pages Web à l'aide du package RVest de Language R. L'article explique en détail pourquoi les méthodes traditionnelles de l'analyse HTML peuvent être invalides et fournit une solution efficace: en identifiant et en appelant directement l'interface API derrière la page Web, en utilisant le package HTTR pour obtenir des données JSON, extraction avec succès les informations requises.

ThebdotagisUsedToOverridetEthebrowser'sDefaultTextDirectionredering whenedaling withmixeft-to-droit et droit à lafte

Cet article détaille comment utiliser Pure JavaScript pour définir automatiquement les sélections de menu déroulant HTML basées sur les paramètres de requête dans l'URL. En analysant l'URL pour obtenir une valeur de paramètre spécifique et en l'attribuant à l'attribut de valeur de l'élément cible, vous pouvez réaliser le préréglage du menu déroulant lorsque la page est chargée. Cette méthode ne nécessite pas JQuery, est simple et efficace et convient aux scénarios où les éléments de formulaire doivent être contrôlés dynamiquement.

TheasyncattributeInhtmlisUsesedToloAndexEcuteExternalJavascriptFilesAsynchronely, permettant à la base de la formulation de trésor-échantillonnage avec

Créez un bouton HTML et définissez l'événement Click pour appeler la fonction JavaScript; 2. Utilisez CSS pour épingler le bouton dans le coin inférieur droit de la page et définir l'état par défaut caché; 3. Écoutez l'événement de défilement via JavaScript et affichez le bouton lorsque la distance de défilement dépasse 300px et faites défiler en douceur en haut lorsque vous cliquez. Enfin, un retour sur le bouton supérieur pour améliorer l'expérience utilisateur est réalisé, et la fonctionnalité complète est terminée en collaboration avec HTML, CSS et JavaScript.

Pour définir la valeur par défaut des éléments HTMLSelect, l'élément d'option correspondant doit être marqué avec l'attribut sélectionné; 1. Ajoutez l'attribut sélectionné à l'option que vous souhaitez sélectionner par défaut, comme UnitedStates; 2. Assurez-vous qu'une seule option dans un seul sélection a sélectionné un attribut, et s'il y en a plusieurs, le premier sera l'ordre du code source; 3. L'attribut sélectionné peut être placé n'importe où dans la liste, sans s'y limiter à la première option; 4. Cette méthode convient à la sélection unique et à plusieurs sélections; 5. Si vous devez le définir dynamiquement, vous pouvez utiliser JavaScript pour faire fonctionner l'attribut de valeur, tel que document.QuerySelec

Pour désactiver les éléments de formulaire HTML, vous pouvez utiliser l'attribut désactivé, qui peut empêcher l'interaction de l'utilisateur et la valeur de l'élément ne sera pas soumise avec le formulaire. Cet attribut est de type booléen et peut être directement ajouté pour former des balises d'élément telles que l'entrée, la textarea, la sélection ou le bouton. Par exemple, il peut également être contrôlé dynamiquement via JavaScript, tel que document.getElementById ("MyInput"). Disabled = true. Si l'élément ne peut pas être modifié mais que la valeur est toujours soumise, vous devez utiliser l'attribut ReadOnly. L'attribut désactivé est simple et efficace et largement pris en charge.
