Un collègue, un développeur Web qualifié et averti de la technologie comme moi, affiche constamment une notification de mise à jour chromée lancinante. Ce détail apparemment mineur met en évidence un problème plus large: la réalité des navigateurs "à feuilles persistantes". Bien que la fonction de mise à jour automatique soit bénéfique, elle ne garantit pas l'adoption immédiate par tous les utilisateurs.
Mon collègue priorise le flux de travail ininterrompu sur les mises à jour immédiate du navigateur, une approche parfaitement raisonnable. Les ordinateurs portables haut de gamme, capables de mois d'utilisation sans redémarrage, exacerbent ironiquement ce retard, contrairement aux machines moins puissantes qui pourraient nécessiter des redémarrages plus fréquents et donc des cycles de mise à jour plus rapides.
Avant les navigateurs à feuilles persistantes, les mises à jour manuelles étaient la norme, un processus impliquant des téléchargements de sites Web ou même des médias physiques. Les navigateurs à feuilles persistantes automatisent cela, la mise à jour via des invites nécessitant des redémarrages, des téléchargements d'arrière-plan activés sur le redémarrage ou des redémarrages du système.
Les principaux navigateurs (Chrome, Edge, Firefox) sont en grande partie à feuilles persistantes. Safari, cependant, présente un cas unique, en s'appuyant sur les mises à jour MacOS pour les mises à jour du navigateur - une solution moins élégante. Idéalement, le mécanisme de mise à jour de Safari serait découplé du processus de mise à jour du système d'exploitation.
La disparition d'Internet Explorer se solidifie les navigateurs à feuilles persistantes en tant que préoccupations de compatibilité standard et simplifiant. Cependant, cela n'élimine pas la nécessité d'une attention particulière.
Les données caniuse.com
ne reflètent pas les versions du navigateur réel. Les mises à jour ne sont pas instantanément appliquées sur tous les appareils. Cela nécessite une approche prudente des nouvelles fonctionnalités.
Résistez à la tentation d'embrasser immédiatement les dernières fonctionnalités. Au lieu de cela, hiérarchisez les expériences progressivement améliorées à l'aide de CSS et JavaScript.
La résilience du Web réside dans l'adaptation à son paysage diversifié. CSS et JavaScript offrent des mécanismes pour servir conditionnellement le contenu en fonction des capacités du navigateur.
Au lieu de déplorer le support des fonctionnalités, adoptez un état d'esprit de l'implémentation expérimentale.
L'interface Navigator
de JavaScript permet la détection des fonctionnalités. Par exemple:
if (! («Geolocation» dans Navigator)) { // gérer le manque de support de géolocalisation } autre { // Utiliser la fonctionnalité de géolocalisation }
Cette approche himinalise les mécanismes de secours avant de mettre en œuvre de nouvelles fonctionnalités.
La règle @supports
de CSS fournit un style conditionnel:
.Component { / * Styles de base * / } @Supports (grid-template-columns: subdigrid;) { .Component { / * Styles améliorés pour le support des sous-grilles * / } }
Cela garantit des fonctionnalités de base dans tous les navigateurs tout en améliorant l'expérience de ceux capables.
Bien que l'ajout de détection des fonctionnalités augmente la complexité du code, c'est un investissement valable. Envisagez de le supprimer uniquement après une période significative (environ six mois après la version après la sortie) pour tenir compte de divers retards de mise à jour. Ce délai est une directive générale; Le public spécialisé peut nécessiter des ajustements. Les analyses et les commentaires des utilisateurs sont cruciaux pour déterminer le temps de suppression optimal.
Cependant, la suppression complètement de la détection des fonctionnalités n'est pas toujours recommandée. Considérez les utilisateurs qui:
Le succès du Web découle de son adaptabilité à une vaste gamme d'appareils et d'utilisateurs. Une approche robuste hiérarte la compatibilité et la dégradation gracieuse.
La prolifération des dispositifs nécessite une stratégie à l'épreuve des futurs. Considérez la gamme en expansion d'appareils (téléphones, tablettes, téléviseurs intelligents, etc.) et leurs différentes capacités. La priorité à la compatibilité à travers ce spectre garantit une expérience utilisateur cohérente.
Merci à Jim Nielsen pour leurs commentaires.
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!