Merci Internet Explorer
By Geoffrey on Wednesday 30 November 2005, 16:05 - Coding - Permalink
Merci, oui, d'implémenter bancalement (ECMA/java)script (je laisse le soin aux pinailleurs de rayer la mension inutile) et de me rajouter une demie journée de boulot pour assurer la compatibilité de mon appli. Alors, bon à savoir:
- IE n'implémente pas
Event.which. - IE n'implémente pas
XMLHttpRequest.overrideMimeType(). - IE veut absolument un
;après unvar foo = {}. - IE ne veut surtout pas de
,après le dernier membre d'un objet (var foo = {'bar': 'foobar',};n'est pas correct pour IE). - IE ne précise pas quel objet et quelle méthode sont concernées par le message Cet objet ne gère pas cette méthode.
- IE ne précise pas le fichier dans lequel il trouve une erreur, juste la ligne (fausse) et la colonne (super).
- IE ne rougit même pas en faisant une erreur Unspecified Error.
- IE ne prévient personne quand il zappe tout un .js parcequ'il contient des erreurs de syntaxe.
- IE sous wine fonctionne mieux que IE sous w2k3.
- IE n'implémente pas
Event.currentTargetmaisEvent.srcElement. - IE n'implémente pas
Element.addEventListenermaisElement.attachEvent(attention,attachEventne prend que 2 arguments alors queaddEventListeneren prend 3).
Voilà. Et puis pour le fun, un petit bout de code:
var compat = { 'addListener': function(el, event, listener) { if (el.addEventListener) { return el.addEventListener(event, listener, false); } if (el.attachEvent) { return el.attachEvent('on' + event, listener); } return false; }, 'getEventTarget': function(e) { if (e.currentTarget) { return e.currentTarget; } if (e.srcElement) { return e.srcElement; } if (e.target) { return e.target; } return false; } };
Cela dit, un jour, je ferais la même chose mais en modifiant directement les protoypes des objets concernés.
3 comments
IE n'implémente pas getElementsByTagNameNS non plus. Entrr autres.
IE ne se prévient pas qu'il est une merde sans nom
DE RIEN!
This post's comments feed