IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Chargement XML et Safari


Sujet :

JavaScript

Vue hybride

oaouh Chargement XML et Safari 04/05/2009, 18h55
k1rby if(document.implementation &&... 04/05/2009, 19h16
oaouh Ben non, avec ton code ça ne... 05/05/2009, 10h05
k1rby Bizarre que ça marche sur mon... 05/05/2009, 11h35
oaouh J'ai trouvé une solution en... 05/05/2009, 17h55
k1rby var xhr; try { xhr = new... 05/05/2009, 18h17
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Par défaut Chargement XML et Safari
    Salut à tous,

    je fais appel aux développeurs qui ont déjà eu affaire à un chargement de fichier XML par Javascript.
    Je loade un XML avec Javascript. Tout marche nickel dans Firefox, Opera, mais pas dans IE ni dans Safari.

    Voici mon script (trouvé qqpart sur le net) :

    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
     
    var xmlDoc;
    try { //Internet Explorer
          xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
          xmlDoc.async=false;
          }
          catch(e) {
          try { //Firefox, Mozilla, Opera, etc.
    	   xmlDoc=document.implementation.createDocument("","",null);
          } catch(e) {
    	   alert('Your brower cannot handle this script.');
    	   return;
          }
    }
    if (xmlDoc != null) {
          xmlDoc.load("data.xml");
    }
    Savez-vous comment l'adapter pour que le XML soit chargé correctement dans tous les navigateurs ?

    à+

  2. #2
    Membre expérimenté Avatar de k1rby
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 181
    Par défaut
    Code JavaScript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if(document.implementation && document.implementation.createDocument){
    	docXml = document.implementation.createDocument('', '', null);
    	alert('FF');
    }else if(window.ActiveXObject){
    	docXml = new ActiveXObject("Microsoft.XMLDOM");
    	alert('IE');
    }else{
    	alert('Votre navigateur ne saurait pas éxécuter ce script.');
    }
    Ce code marche chez moi sous FF3, IE8, opera, safari.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Par défaut
    Ben non, avec ton code ça ne marche toujours pas sur Safari

  4. #4
    Membre expérimenté Avatar de k1rby
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 181
    Par défaut
    Bizarre que ça marche sur mon Safari et pas sur le tien :/

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations forums :
    Inscription : Juillet 2005
    Messages : 20
    Par défaut
    J'ai trouvé une solution en passant par XMLHttpRequest. Ca marche sur tous les navigateurs sauf IE. Moi en l'occurence je n'ai pas besoin que ça marche sur IE.

    Voici le code :

    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
     
    var xmlDoc;
    var xhr = new XMLHttpRequest();
     
    //Fonction appelée quand chargement XML terminé
    function xmlLoad() {
       alert(xmlDoc);
    }
     
    //Chargement du XML
    xhr.onreadystatechange = function() {
    if (xhr.readyState == 4) {
       if(xhr.status==200) {
          xmlDoc = xhr.responseXML;
          xmlLoad();
       }
    }
    };
     
    xhr.open('GET','fichierXML.xml',true);
    xhr.send(null);
    à+ et merci k1rby pour ton aide

  6. #6
    Membre expérimenté Avatar de k1rby
    Profil pro
    Développeur Web
    Inscrit en
    Novembre 2008
    Messages
    181
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2008
    Messages : 181
    Par défaut
    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
    15
     
    var xhr;
    try {
    	xhr = new ActiveXObject('Msxml2.XMLHTTP');
    }catch(e){
    	try{
    		xhr = new ActiveXObject('Microsoft.XMLHTTP');
    	}catch(e2){
    		try{
    			xhr = new XMLHttpRequest();
    		}catch(e3){
    			xhr = false;
    		}
    	}
    }

    Avec ça, normalement ça marche sous tout navigateur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Chargement XML avec Safari, Opera, Chrome
    Par mra_ch dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/09/2012, 07h34
  2. [C#][2.0] Combobox, chargement XML
    Par benneb dans le forum Windows Forms
    Réponses: 1
    Dernier message: 20/04/2007, 13h58
  3. Chargement XML dans Flash
    Par wiloue dans le forum Flash
    Réponses: 1
    Dernier message: 30/03/2007, 18h25
  4. Numero erreur chargement XML
    Par julio84 dans le forum ASP
    Réponses: 2
    Dernier message: 22/06/2006, 16h16
  5. Chargement xml dynamique
    Par zwck dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/04/2006, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo