Table des matières

Internet Explorer

Quand on développe quelque chose pour internet, on se trouve confronté un jour ou l'autre au comportement non standard du navigateur de la firme de Redmond. Et cela quelque soit la technologie employée (HTML, CSS, Javascript, SVG, etc). Voici la liste non exhaustive des problèmes que j'ai déjà rencontré lors de mes développements.

Nom de variable interdit

Dans les versions 6 à 8, il est interdit d'utiliser une variable Javascript nommée action.
Il ne sait pas quoi en faire. On dirait que ce nom a été réservé pour une utilisation future.
Le comportement a peut-être été corrigé depuis.

Extraction d'un caractère d'une chaine

Le Javascript permet d'accéder à chaque caractère d'une chaine par sa position.

/* Pour récupérer le 9ème caractère de ma_chaine */
ma_chaine[8]

Mais cette syntaxe n'est pas supportée par la version 7.
Il va falloir ruser en utilisant d'autres fonctions.

/* Je veux récupérer le 9ème caractère de ma_chaine */
ma_chaine.charAt(8)
/* ou */
ma_chaine.substring(8,9)
/* ou */
ma_chaine.substr(8,1)

Nom d'attribut utilisé

Toutes les versions, jusqu'à la version 10, reconnaissent et utilisent l'attribut language dans la balise script bien que celle ci soit obsolète depuis la parution du HTML4 1).
Si pour un besoin quelconque, il est nécessaire d'utiliser un attribut contenant la langue, il est judicieux d'utiliser un autre nom.
Le code suivant fonctionne correctement excepté dans IE.

<input language="english" onFocus="window.alert('Hello world')" type="text"/>

Depuis HTML5 2), il est recommandé d'utiliser des attributs commençant par data-. Ils seront considérés comme valides par les outils de vérification.