Bonjour à tous !
Je suis en train de coder un framework JS (une sorte de Dojo mais en beaucoup plus light) et j'aimerais pouvoir redéfinir le comportement de certaines fonctions javascript pour éviter des incompatibilités navigateur.
Par exemple : getElementsByName
Sous ie cette fonction ne se comporte pas pareil que sous mozilla.
Je voulais donc la surcharger pour la rendre compatible partout.
J'ai réussi "en partie" en faisant comme ceci :
La fonction est bien surchargée mais le problème c'est qu'on peut aussi avoir à l'appeler depuis un autre objet que document.
Savez vous si il est possible de la surcharger pour tous les objets javascript l'utilisant ? Je pense par exemple à la surcharger sur un objet dont héritent tous les éléments JS pour que ça se "propage" partout, mais je ne sais pas lequel. J'ai essayé sur Object mais sans résultat.
Quelqu'un aurait une idée ?
Je sais qu'il existe cette solution là :
mais je cherche justement à l'éviter car elle détourne l'utilisation "normale" de la méthode d'objet d'origine.
Merci d'avance à ceux qui participeront au schmilimilimick
Je suis en train de coder un framework JS (une sorte de Dojo mais en beaucoup plus light) et j'aimerais pouvoir redéfinir le comportement de certaines fonctions javascript pour éviter des incompatibilités navigateur.
Par exemple : getElementsByName
Sous ie cette fonction ne se comporte pas pareil que sous mozilla.
Je voulais donc la surcharger pour la rendre compatible partout.
J'ai réussi "en partie" en faisant comme ceci :
document.getElementsByName = function(nom)
{
alert(nom) ; // Petit debug pour voir si c'est bien appelé
/* Reste du traitement */
}
La fonction est bien surchargée mais le problème c'est qu'on peut aussi avoir à l'appeler depuis un autre objet que document.
Savez vous si il est possible de la surcharger pour tous les objets javascript l'utilisant ? Je pense par exemple à la surcharger sur un objet dont héritent tous les éléments JS pour que ça se "propage" partout, mais je ne sais pas lequel. J'ai essayé sur Object mais sans résultat.
Quelqu'un aurait une idée ?
Je sais qu'il existe cette solution là :
getElementByName(objet, nom) ;
mais je cherche justement à l'éviter car elle détourne l'utilisation "normale" de la méthode d'objet d'origine.
Merci d'avance à ceux qui participeront au schmilimilimick
