Bonjour
Je n'arrive pas à trouver la bonne méthode permettant d'identifier la configuration de mon navigateur afin d'utiliser la méthode adaptée pour charger un xml issu de webservice.
Mon code javascript lance la fonction postHTML()
Auparavant ma méthode était légèrement différente, mais problème car n'étant pas compatible avec ie11.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 //Chargement des fichiers XML et XSL pour les navigateurs Firefox Chrome Opera ... function loadXML(xmlPath) { var xmlhttp = new window.XMLHttpRequest(); xmlhttp.open("GET", xmlPath, false); xmlhttp.send(null); var xmlDoc = xmlhttp.responseXML.documentElement; return xmlDoc; } // Generation du rendu function postHTML(xmlPath, xslPath, page, elementId) { var plugin = navigator.plugins["Contoso.Control"]; var ActixeXPoss='N'; if(plugin){ // Contoso control is installed and enabled alert("Contoso control is installed and enabled"); } else{ try{ plugin = new ActiveXObject("Contoso"); ActixeXPoss='O'; } catch(e){ // Contoso control is not installed or disabled alert("Contoso control is not installed or disabled"); } } if(ActixeXPoss == 'N'){ // script pour tous les navigateurs Firefox Opera ... alert("pas avec IE"); // Chargement XML var xslDocument = loadXML(xslPath); // Chargement XSL var xmlDocument = loadXML(xmlPath); var xsltProcessor=new XSLTProcessor(); xsltProcessor.importStylesheet(xslDocument); var htmlCode = xsltProcessor.transformToFragment(xmlDocument,document); document.getElementById(elementId).appendChild(htmlCode); var racine = xmlDocument; } else{ if (window.ActiveXObject){ // script pour IE alert("avec IE"); // Chargement XML var xml = new ActiveXObject("Microsoft.XMLDOM"); xml.async = false; xml.load(xmlPath); // Chargement XSL var xsl = new ActiveXObject("Microsoft.XMLDOM"); xsl.async = false; xsl.load(xslPath); // Transformation //alert("Element récepteur = " + elementId); document.getElementById(elementId).innerHTML = xml.transformNode(xsl); var racine = xml.documentElement; } else{ alert("Transformation Xslt non supportée !"); document.getElementById(elementId).innerHTML = "Xslt non supporté"; } }
Partager