logo L'initiative d'information IE

Comment ça marche?

Utiliser l'initiative d'information IE sur votre site est aussi simple que d'inclure le code suivant dans le corps de vos pages HTML:
<!--[if lte IE 7]>
<script src="http://ieai.pieroxy.net/ieai.js"></script>
<![endif]-->

Ce code doit être placé entre la balise <body> et la balise </body>, de préférence vers la fin de la page.

Pas mal de choses sont configurables:

Quelle version d'IE?

Par défaut, le script sera affiché à tous les utilisateurs d'IE6 et IE7. Pour changer ce comportement, il cous suffit d'ajouter le bout de code suivant avant d'inclure le fichier javascript:
<!--[if lte IE 6]>
<script language="javascript">
var ieai_alertfor=6;
</script>
<script src="http://ieai.pieroxy.net/ieai.js"></script>
<![endif]-->
Dans l'exemple ci-dessus, le message sera affiché à tous les utilisateurs d'IE6 et en dessous. Notez qu'il faut définir la version d'IE à deux endroits: Dans le commentaire conditionnel et dans la variable ieai_alertfor.

Pour afficher le message à tous les utilisateurs d'Internet Explorer, placez la variable à 8. Vous pouvez bien sûr définir une version qui est au dessus de la version actuelle d'IE, comme 9 ou 10. Vu que IE9 n'est pas encore sorti, on ne sais pas comment s'il exhibera les problèmes que nous essayons de combattre. Restons raisonnables et n'affichons un message qu'aux nacigateurs dont nous savons qu'ils le méritent.

Pourquoi ne pas proposer IE8?

C'est vrai, pourquoi pas? IE8 est plutôt pas mal. Même s'il n'est pas très compétitif dans le marché actuel, il est très loin du mal que nous fait IE6.

Vous pouvez proposer à vos internautes d'installer IE8 en même temps que les autres alternatives en ajoutant le code suivant:

<!--[if lte IE 7]>
<script language="javascript">
var ieai_showie8=true;
</script>
<script src="http://ieai.pieroxy.net/ieai.js"></script>
<![endif]-->

Quelle langue est-ce que ça parle?

Le code supporte plusieurs langues. Si votre langue n'est pas supportée, vous pouvez personnaliser les messages (voir le point suivant) ou vous pouvez nous donner la traduction des 5 messages de la popup. De cette façon, tout le monde bénéficiera de votre travail.

La langue est déduite du navigateur de l'internaute. Pour résumer, si tout va bien ils verront le message dans leur langue ou bien en Anglais si leur langue n'est pas supportée ou n'a pas pu être déterminée.

Cette détection marche bien dans la majorité des cas. Si vous voulez toutefois forcer la langue du message, vous pouvez le faire comme décrit ci-dessous:

<!--[if lte IE 7]>
<script language="javascript">
var ieai_lang='en';
</script>
<script src="http://ieai.pieroxy.net/ieai.js"></script>
<![endif]-->
Au jour d'aujourd'hui, seules les valeurs 'fr', 'nl' et 'en' marchent.

De toutes façon, le message ne me va pas

Vous pouvez personnaliser le message affiché dans la popup. Il vous suffit de le faire comme suit:
<!--[if lte IE 7]>
<script language="javascript">
var ieai_textClose="Fermer la fenêtre";
var ieai_textLink="En savoir plus";
var ieai_textTitle="Vous utilisez IE"; // Le script rajoute la version d'IE
var ieai_textMain="Beuuuurk";
var ieai_textRecommend="Allez, faites vous plaisir avec les navigateurs ci-dessous";
</script>
<script src="http://ieai.pieroxy.net/ieai.js"></script>
<![endif]-->

Bug? Bug!

La popup est un simple DIV html qui a une position absolue. Sur IE6, si vous avez une liste déroulante (<select>) derrière le DIV, elle se verra à travers la popup. Jetez un oeil à la copie d'écran ci-contre pour voir ce que ça donne.

Ce problème est l'un des problèmes pour lesquels cette initiative existe. Malheureusement, il n'y a pas de solution élégante, comme bien souvent lorsqu'on à affaire à IE6.

Le code ieai.js cherche une méthode ieai_show() avant d'afficher le message, et une autre méthode ieai_hide() avant d'effacer le message. Il vous faudra définir ces deux méthodes et cacher / afficher la ilste déroulante pour éviter le problème. Bien évidemment, si votre site n'exhibe pas ce symptôme, vous n'avez besoin de rien.

Ce problème se manifeste sur tous les sites web avec des listes déroulantes des applets flash ou java applets et avec tous les contrôles "lourds" pour IE6.

Ci-dessous, un exemple de code qui fait ça.

Ci-dessous, une copie d'écran du bug sous IE6.copie d'écran du bug
<!--[if lte IE 6]>
<SCRIPT>
function ieai_show() {
document.getElementById('MySelect').style.visibility='hidden';
}
function ieai_hide() {
document.getElementById('MySelect').style.visibility='';
}

var ieai_alertfor=6; // C'informe que IE6
</SCRIPT>
<SCRIPT src="http://ieai.pieroxy.net/ieai.js"></SCRIPT>
<![endif]-->

C'est tout?

Ben ouais, c'est tout. Ceci dit, si vous voulez une version personnalisée du code, prenez-le et faites-en ce que vous voulez. Le code est copyrighté à moi et je le distribut sous la license libre WTFPL, sans restrictions. Le but est de faire passer le message. Si vous avez une meilleure idée, venez la partager dans le forum, on est intéressés. Ou alors faites-le vous-même! Chacun est libre de faire ce qu'il veut ;-)