Comment assurez-vous l'affichage correct des pages dans les anciens navigateurs ou ceux limités?
sobes.tech IA
Réponse de l'IA
-
Utilisation de l'amélioration progressive : Je commence par une fonctionnalité de base qui fonctionne dans tous les navigateurs, puis j'ajoute des fonctionnalités plus avancées avec JavaScript et CSS pour les navigateurs modernes.
-
Application de la détection de fonctionnalités : Au lieu de détecter le navigateur via l'user agent, j'utilise modernizr ou mon propre code pour vérifier la prise en charge de propriétés CSS ou d'API spécifiques.
// Vérification du support de MutationObserver if ('MutationObserver' in window) { // Utiliser MutationObserver } else { // Utiliser un fallback (par exemple, un ancien EventListener) } -
Polyfills et transpileurs : J'utilise babel pour transpiler le JavaScript moderne (ES6+) vers une norme plus ancienne (ES5), compatible avec les anciens navigateurs. Pour les fonctionnalités manquantes, j'utilise des polyfills (par exemple,
core-js). Pour le CSS, j'utilise postcss avec autoprefixer. -
Fallbacks CSS : Pour les propriétés CSS avancées (comme Grid ou Flexbox), je fournis des alternatives utilisant float ou inline-block.
/* Grid CSS avec fallback pour les anciens navigateurs */ .container { display: block; /* Fallback */ display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; } -
Réduction de la dépendance à JavaScript : Je m'efforce de réaliser les fonctionnalités critiques uniquement avec HTML et CSS, pour que le site reste fonctionnel même si JS est désactivé.
-
Tests : Je teste régulièrement le site dans différents anciens navigateurs (IE11, anciennes versions d'Edge) avec BrowserStack ou des machines virtuelles locales.
-
Limitations : Je discute avec le client quels navigateurs doivent être entièrement supportés et pour lesquels une fonctionnalité limitée est acceptable. Je définis le seuil minimal de support.
-
Fourniture de ressources alternatives : Pour les images ou vidéos, j'utilise la balise
<picture>ou<video>avec différents formats et sources, pour que le navigateur choisisse celui qui lui convient.<picture> <source srcset="image.webp" type="image/webp"> <img src="image.jpg" alt="Description de l'image"> </picture>