[DOM] Redéfinition de XMLDocument.prototype.load
Bonjour,
Je suis en pleine migration d'une appli développée initialement pour IE vers une compatibilité IE et Firefox... :aie:
J'aimerais redéfinir la fonction qui me permet de charger un fichier XML dans un objet XMLDocument (DOM). Cette fonction marche très bien sous IE car on peut au préalable renseigner la propriété async de l'objet XMLDocument et donc bloquer le déroulement du script tant que le fichier n'est pas chargé complètement.
Mais sous Mozilla cette propriété n'est pas reconnue et j'aimerais donc utiliser un XMLHttpRequest pour effectuer le chargement en synchrone.
Code sous IE :
Code:
1 2 3 4 5 6 7 8 9 10
| if (ie5) {
xmlDoc=new ActiveXObject(MSXML2);
}
xmlDoc.validateOnParse=false;
if (ie5) {
xmlDoc.async = false;
}
xmlDoc.load(GENCHAP); |
Voici ma redéfinition de la fonction load() :
Code:
1 2 3 4 5 6
| XMLDocument.prototype.load = function (cXPathString) {
var objXMLHTTP = new XMLHttpRequest();
objXMLHTTP.open("GET", cXPathString, false);
objXMLHTTP.send(null);
this = objXMLHTTP.responseXML;
} |
Malheureusement, cette manière d'affecter le résultat à l'objet ne fonctionne pas.. Est-ce possible de redéfinir cette fonction en gardant l'appel sous la forme xmlDoc.load(...) ??
Merci à ceux qui se pencheront sur la question !