Ce matin, la ferme du web propose un article et un sondage sur LE sujet polémique de la création web : la compatibilité avec Internet Explorer 6.
Âgé de (presque) 10 ans IE6 fait souvent débat, en effet il est souvent incompatible avec les standards de développement CSS et Javascript, et le temps d’adaptation des sites et applis webs (ainsi que la taille des fichiers rendus compatibles) est souvent multiplié dans une proportion non négligeables.
Personnellement, si je m’efforce de garder une interface utilisable sous IE6, j’ai renoncé a chercher obtenir un rendu similaire aux autre navigateurs sous ce navigateur. ce qui me console, c’est que certaines des plus grandes entreprises du web ont fait aussi ce choix.
Par contre, il peut être intéressant de proposer sur un site mettant en œuvre un contenu non compatible avec IE6 d’indiquer à l’utilisateur que d’alternatives de navigateurs Internet sont possibles.
par exemple grâce à un petit bout de code javascript découvert chez babylon Design inséré tout en bas de sa page juste avant la balise
- var messageIE = "
";
- messageIE += "";
- messageIE += " Bonjour,
";- messageIE += " Vous utilisez Internet Explorer 6, certaines fonctionnalités de ce site ne vous seront pas accessibles.
";- messageIE += " Peut être serait il souhaitable de passer à une version plus récente de ce navigateur internet,
";- messageIE += " ou à un autre navigateur comme";
- messageIE += " Firefox,";
- messageIE += " Opera,";
- messageIE += " Chrome";
- messageIE += " ou Safari.
";- messageIE += " Merci de votre attention
";
- // on teste la presence d'une fonction non suportée par IE6, et les versions antérieures
- if (typeof document.body.style.maxHeight == "undefined")
- {
- // si on est dans IE
- // on affiche le message
- document.write(messageIE);
- }
de quoi essayer de faire migrer doucement les utilisateurs vers des navigateurs plus sur et plus respectueux des standards du web
Cette approche me parait assez sub-optimale. Chaque navigateur va créer une variable "messageIE" via une dizaine de concaténation en javascript et chaque navigateur va également tester la fonction javascript pour rien.
Une approche plus maline à mon sens est l'utilisation d'un commentaire conditionel:
Dans ce cas, tous les navigateurs considèrent le message comme un commentaire dans le code HTML, exceptés IE 6 et précédents qui affichent le contenu du message. Pas de test ou de création de variable!
@Anonyme, c'est vrai l'approche est plus maligne