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 :

JavaScript XML Chrome et Safari vs Mozilla, IE, Opera


Sujet :

JavaScript

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Par d�faut JavaScript XML Chrome et Safari vs Mozilla, IE, Opera
    Bonjour,

    J'ai cr�e un site pour un ami qui travaille comme agent immobilier. Son site contient une s�rie de propositions de ventes immobili�res mais pas une grande quantit� et la masse des propositions ne risque pas d'augmenter.
    Donc au lieu de cr�er une base de donn�es (genre My SQL) j'ai utilis� des fichiers XML dont le contenu est charg� par un script JS dans les diff�rents �lements affich�s par le HTML (exemple : document.getElementById("ref100").innerHTML=xmlVaudBI.getElementsByTagName("ref100")[0].childNodes[0].nodeValue
    A l'affichage les "div" HTML sont remplies par IE,Firefox et Opera, mais Safari et Chrome laissent les "div" vides.

    Avez-vous une r�ponse? Pourtant j'ai autoris� JavaScript dans Chrome et Safari

  2. #2
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    avec si peu d'infos...


    fait un clic droit sur ta page dans WebKit (chrome ou safari) choisis "inspaecter l'�l�ment" et clique sur le buton "console" le plus � droite en haut

    recharge ta page et tu vera les erreurs

    dans l'onglet javascript tu peux s�lectionner ton js et mettre un point d'arr�t pour voir ce qu'il se passe

    A+JYT

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Par d�faut En effet il y a une erreur
    Citation Envoy� par sekaijin Voir le message
    avec si peu d'infos...


    fait un clic droit sur ta page dans WebKit (chrome ou safari) choisis "inspaecter l'�l�ment" et clique sur le buton "console" le plus � droite en haut

    recharge ta page et tu vera les erreurs

    dans l'onglet javascript tu peux s�lectionner ton js et mettre un point d'arr�t pour voir ce qu'il se passe

    A+JYT
    Merci pour votre r�ponse,

    En effet suite � vos instructions j'ai trouv� l��l�ment en erreur, mais malgr� �a je ne comprends pas:.

    La console de Chrome donne : Uncaught TypeError: Object #<Document> has no method 'load'

    L'erreur se trouve � la ligne 17 dans le code javaScript suivant :
    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
    var xmlGeneveCRB;
    function loadXMLGeneveCRB()
    {
    //load xml file
    // code for IE
    if (window.ActiveXObject)
    {
    	xmlGeneveCRB=new ActiveXObject("Microsoft.XMLDOM");
    	xmlGeneveCRB.async=false;
    	xmlGeneveCRB.load("xml/genevecrb.xml");
    	getoffregenevecrb();
    }
    // code for Mozilla, Firefox, Opera, etc.
    else if (document.implementation && document.implementation.createDocument)
    {
    	xmlGeneveCRB=document.implementation.createDocument("","",null);
    	xmlGeneveCRB.load("xml/genevecrb.xml");
    	xmlGeneveCRB.onload=getoffregenevecrb;
    }
    else
    {
    	alert('Votre navigateur ne peut pas afficher ce script!');
    }
    }
    
    function getoffregenevecrb()
    {
    document.getElementById("ref100").innerHTML=xmlGeneveCRB.getElementsByTagName("ref100")[0].childNodes[0].nodeValue;
    document.getElementById("ref101").innerHTML=xmlGeneveCRB.getElementsByTagName("ref101")[0].childNodes[0].nodeValue;
    document.getElementById("ref102").innerHTML=xmlGeneveCRB.getElementsByTagName("ref102")[0].childNodes[0].nodeValue;
    document.getElementById("ref103").innerHTML=xmlGeneveCRB.getElementsByTagName("ref103")[0].childNodes[0].nodeValue;
    document.getElementById("ref104").innerHTML=xmlGeneveCRB.getElementsByTagName("ref104")[0].childNodes[0].nodeValue;
    document.getElementById("ref105").innerHTML=xmlGeneveCRB.getElementsByTagName("ref105")[0].childNodes[0].nodeValue;
    document.getElementById("ref106").innerHTML=xmlGeneveCRB.getElementsByTagName("ref106")[0].childNodes[0].nodeValue;
    document.getElementById("ref107").innerHTML=xmlGeneveCRB.getElementsByTagName("ref107")[0].childNodes[0].nodeValue;
    document.getElementById("ref108").innerHTML=xmlGeneveCRB.getElementsByTagName("ref108")[0].childNodes[0].nodeValue;
    document.getElementById("ref109").innerHTML=xmlGeneveCRB.getElementsByTagName("ref109")[0].childNodes[0].nodeValue;
    document.getElementById("ref110").innerHTML=xmlGeneveCRB.getElementsByTagName("ref110")[0].childNodes[0].nodeValue;
    document.getElementById("ref111").innerHTML=xmlGeneveCRB.getElementsByTagName("ref111")[0].childNodes[0].nodeValue;
    document.getElementById("ref112").innerHTML=xmlGeneveCRB.getElementsByTagName("ref112")[0].childNodes[0].nodeValue;
    document.getElementById("ref113").innerHTML=xmlGeneveCRB.getElementsByTagName("ref113")[0].childNodes[0].nodeValue;
    document.getElementById("ref114").innerHTML=xmlGeneveCRB.getElementsByTagName("ref114")[0].childNodes[0].nodeValue;
    }
    Dans le HTML cette fonction JS est declar�e dans body :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    <body onload="loadXMLGeneveCRB();">
    Donc je ne vois pas le probl�me.
    Auriez-vous une suggestion?
    Merci d'avance,
    Mihai

  4. #4
    Expert confirm�
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 61
    Localisation : France, Yvelines (�le de France)

    Informations professionnelles :
    Activit� : Urbaniste
    Secteur : Sant�

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par d�faut
    r�ponse du W3C

    The load method is not part of any W3C standard, it looks like Safari
    does not implement it. You might want to use XMLHttpRequest instead to
    load the XML document, then access the responseXML property to have an
    XML DOM document.

    en clair


    La m�thode load ne ​​fait pas partie de toute norme du W3C, il semble que Safari (j'ajoute tous les navigateur Webkit) ne soit pas en mesure de la mettre en �uvre. Vous pouvez utiliser XMLHttpRequest au lieu de charger le document XML, puis acc�der � la propri�t� responseXML afin d'obtenir d'avoir un DOM XML document.

    j'ajoute que load est synchrone donc si tu veux tu peut te faire une fonction load pour webkit qui fait un XMLHttpReques synchrone.

    mais en restant pur w3c c'est � dire toujours utilise XHR te garanti un code portable. c'est � mon humble avis la meilleure solution.

    A+JYT

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2009
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Octobre 2009
    Messages : 37
    Par d�faut JavaScript XML Chrome et Safari vs Mozilla, IE, Opera
    Merci beaucoup,
    Mihai

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. code javascript fonctionnant sur IE et FireFox mais pas avec Chrome et Safari
    Par caro07140 dans le forum G�n�ral JavaScript
    R�ponses: 1
    Dernier message: 01/01/2011, 15h14
  2. Erreur JavaScript sous Chrome, Safari et IE8
    Par hsii04 dans le forum IGN API G�oportail
    R�ponses: 16
    Dernier message: 04/07/2010, 12h26
  3. [Javascript][XML]
    Par kirk80 dans le forum G�n�ral JavaScript
    R�ponses: 6
    Dernier message: 30/07/2009, 12h08
  4. Les sessions en javascript; XML sous FF; Aide pour un projet
    Par FremyCompany dans le forum G�n�ral JavaScript
    R�ponses: 8
    Dernier message: 15/05/2006, 17h59
  5. application web local, html, javascript, xml tourant sur PDA
    Par goupilou dans le forum G�n�ral JavaScript
    R�ponses: 11
    Dernier message: 06/03/2006, 22h40

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