Probleme affichage de fichier xml/xsl sous FF

in57 -  
pitxu Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai d'un coté un fichier xml avec des données à formater à l'affichage. J'ai donc créé plusieurs fichiers XSL et afin de ne pas avoir à dupliquer le fichier XML j'utilise le code javascript suivant. Cela fonctionne très bien sous IE (il faut juste activer l'activeX à chaque fois). Pour des raisons d'utilisation au sein d'un service d'une entreprise je voudrais le faire fonctionner sous FireFoxe hors lors de l'ouverture de cette page rien ne se passe (page blanche vide)
Si quelqu'un à des pistes?
Merci de vos réponses.

<html>
<head>
<link rel="stylesheet" type="text/css" href="formats.css">
</head>
<body>
<script type="text/javascript">
// chargement du fichier XML
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("test2.xml")
// chargement du fichier XSL
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("acceder.xsl")

// transformation en Html
document.write(xml.transformNode(xsl))
</script>
</body>
</html>
A voir également:

3 réponses

pitxu Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   95
 
Bonjour,

xml = document.implementation.createDocument("","",null);


pour les autres navigateurs, il faut faire une détection et déclarer la variable xml en fonction du résultat. (idem pour xsl)
0
in57
 
pitxu, merci pour ta réponse, j'ai testé ta solution elle ne fonctionne pas chez moi mais je pense ne pas avoir tout effectué correctement...

Voici le code que j'ai modifié, j'ai simplement ajouté ta ligne.

<html>
<head>
<link rel="stylesheet" type="text/css" href="formats.css">
</head>
<body>
<script type="text/javascript">
// chargement du fichier XML
xml = document.implementation.createDocument("","",null)
var xml = new ActiveXObject("Microsoft.XMLDOM")
xml.async = false
xml.load("test2.xml")
// chargement du fichier XSL
xsl = document.implementation.createDocument("","",null)
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load("acceder.xsl")

// transformation en Html
document.write(xml.transformNode(xsl))
</script>
</body>
</html>

pour l'histoire de la détection en fonction du navigateur je n'ai exactement tout compris.

merci de ta réponse.
0
pitxu Messages postés 689 Date d'inscription   Statut Membre Dernière intervention   95
 
la détection du navigateur se fait avec la propriété navigator.appName, ensuite tu fais ton var xml = ... en fonction du résultat, soit IE soit les autres.
0