Bonjour,

Je suis en pleine migration d'une appli développée initialement pour IE vers une compatibilité IE et Firefox...

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !