Je pense que tu n'as pas bien saisi, ceci :
C'est pour IE 6 et inférieur seulement.
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part if (window.ActiveXObject) { /* code ... */ }
Les autres navigateurs passeront par window.XMLHttpRequest
Dans le lien que j'ai fourni, ils expliquent clairement comment remédier à cela (correctif). L'autre lien c'est pour comprendre comment réagissent IE 7 et IE 8 avec les histoires de sécurité IE (cross domain, etc).
Pour faire simple et réducteur, tu as deux choses :
- un fichier XML dans un de tes répertoires
- ton script qui tente d'appeler ce fichier XML
IE 7 ou 8 compare la provenance de ton script et ton ton XML. S'il détecte que les deux n'appartiennent pas au même domaine, il arrêtera l'exécution. C'est ce qui se passe dans ton cas, et c'est une erreur qui a été corrigée par la suite par Microsoft.
Tu as essayé de mettre le chemin d'accès complet ?
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 // charge le xml et le met dans xmlDoc xmlDoc=loadXMLDoc("file:///C:/TonCheminAcces/fichierconf.xml");
Quoiqu'il en soit, si tu passes par un serveur (Apache, IIS, etc) il n'y aura pas de problème.
Sinon, passe directement le fichier XML au format chaine de caractère et c'est réglé, plus de problème de lecture fichier :
Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 if ( window.DOMParser ) { try { var fluxXML = '<racine><pages><page1><nom>aaa</nom><lien>http://monlien1</lien><seconde>1000</seconde></page1></pages></racine>'; var docXML = new DOMParser().parseFromString(fluxXML, "text/xml"); // Détection si il y a des erreurs de parse (ne génère pas d'exception sinon) if (docXML.getElementsByTagName('parsererror').length > 0) throw "Erreur lors du chargement du flux XML : " + this.docXML.getElementsByTagName('parsererror')[0].textContent; } catch(ex) { alert(ex); } } else alert('Impossible de charger le XML');






Répondre avec citation





Partager