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.
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.
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)
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.