Loadxml() sous Firefox et Chrome [Résolu]

Signaler
-
 sulfur82 -
Bonjour,

J'ai un fichier index.html contenant les fonctions javascript nécessaire à charger le contenu d'un fichier xml et restituer son contenu dans le fichier index.html après avoir tester des paramètres récupérés dans le fichier xml (Dates)

Sous IE tout fonctionnent parfaitement mais sour Firefox et Chrome c'est une autre histoire, rien ne s'affiche.

Le problème viendrait il de la fonction loadxml ?

Voici mon fichier "index.html"

<html>
<head>
<script>

// Fonction Chargement du fichier XML
function loadXMLDoc(file)
{
try // IE
{
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try // FF, ...
{
xmlDoc = document.implementation.createDocument("","",null);
}
catch(e) {alert(e.message)}
}
try
{
xmlDoc.async = false;
xmlDoc.load(file);
return(xmlDoc);
}
catch(e) {alert(e.message)}
return(null);
}


// Fonction Transformer date format jj/mm/aaaa en date format mm/jj/aaaa
function formatDate(date)
{
var chaine=date
var maDate=new Date()
 
var TabChaine=chaine.split('\/')
 
maDate.setDate(TabChaine[0]);
maDate.setMonth(TabChaine[1]-1);
maDate.setYear(TabChaine[2]);

return maDate;
}

 
// Fonction Obtenir Texte du fichier XML
function getTexte()
{
var xmlFile = loadXMLDoc("test.xml");
var texteCount = xmlFile.getElementsByTagName("texte").length;

var dateCourante = new Date();

var dateDebut = formatDate(xmlFile.getElementsByTagName("dateDebut")[0].childNodes[0].nodeValue);

var dateFin = formatDate(xmlFile.getElementsByTagName("dateFin")[0].childNodes[0].nodeValue);


if((dateCourante.getTime() >= dateDebut.getTime())&&(dateCourante.getTime() <= dateFin.getTime() ))
{
document.getElementById("message1").innerHTML += xmlFile.getElementsByTagName("texte")[0].childNodes[0].nodeValue;
}

document.getElementById("message2").innerHTML += xmlFile.getElementsByTagName("texte")[1].childNodes[0].nodeValue;

return dateDebut;
return dateFin;
}

</script>

</head>

<MARQUEE BEHAVIOR="scroll" DIRECTION="up" SCROLLAMOUNT="1" SCROLLDELAY="2" onmouseover="this.stop()" onmouseout="this.start()" HEIGHT="100%" WIDTH="100%">

 Message 1


 Message 2

</MARQUEE>


</html>


Merci de votre aide

6 réponses

Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

Oui tu peux utiliser jQuery, c'est même très fortement recommandé. Vu le point où tu en est, tu peux tout recommencer avec jQuery, ce sera plus propre.
Messages postés
224
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
11 juin 2013
2
Bonjour,

Le composant ActiveX n'est disponible que sous IE.
pour plus d'infos :
http://www.journaldunet.com/solutions/0701/070131-qr-activex.shtml
Merci de ta réponse.

Comment puis je palier à mon problème pour parser le fichier XML sous chrome et Firefox?
Messages postés
224
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
11 juin 2013
2
Salut,

Je pense que la seule solution de remplacement possible est la suivante:
-un formulaire d'upload du fichier XML.
-le traitement coté serveur en php.
-l'affichage du résultat.

Il n'y a pas vraiment d'alternative au composant ActiveX (à ma connaissance) et ce n'est pas recommandé de l'utiliser pour des raisons de sécurité
Salut,

Puis-je utiliser jQuery pour traiter le fichier xml pour IE, Firefox et Chrome?
Je reprend du début avec JQuery alors ^^

Merci de vos réponses.