Probleme affichage de fichier xml/xsl sous FF

Fermé
in57 - Modifié par in57 le 20/12/2011 à 20:14
pitxu Messages postés 689 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 - 21 déc. 2011 à 10:39
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 vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
20 déc. 2011 à 22:34
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
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 vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
21 déc. 2011 à 10:39
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