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 desktop / android


Sujet :

JavaScript

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Javascript desktop / android
    Bonjour,

    Cela fait plus d'une semaine que je bloque sur ce problème, en fait il s'agit d'une page php html avec du javascript qui marche parfaitement sur mon ordinateur (avec un serveur local et chrome ), cependant je rencontre un problème sur android. j'ai installé un serveur local sur mon portable (palapa webserver) mais dès que j'ouvre la page avec chrome android les variables ne sont pas attendues.
    Pour vous expliciter plus la chose je vous montre le code js donc sur chrome desktop ça marche parfaitement mais sur chrome android le document.getElement("...").HTML ne charge pas les variables alors que d'après la console javascript le fichier xml est bien reçu.

    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
    <script type="text/javascript" src="jquery.js"></script>
    <script language="javascript" type="text/javascript">
    function init()
            {
                listboxvillechange();
            }
     
            function listboxvillechange()
            {
                var reqURL = "calcst.php?anneeinput=2016&moisinput=3&jourinput=2&latitudeinput=45.6483&longitudeinput=0.160924&Conventioninput=0&Timezoneinput=1&DSTinput=1";
     
                $.ajax({
                    type: "GET",
                    url: reqURL,
                    dataType: "xml",
                    async: false,
                    success: function(xml) {
                        var jourst = $(xml).find('day').get(0);        // pour un seul :
                        document.getElementById("lblFajr").innerHTML                =    $(jourst).attr('fajr');
                        document.getElementById("lblChourouk").innerHTML            =    $(jourst).attr('chourouk');
                        document.getElementById("lblZhur").innerHTML                =    $(jourst).attr('zuhr');
                        document.getElementById("lblAsr").innerHTML                    =    $(jourst).attr('asr');
                        document.getElementById("lblMaghrib").innerHTML                =    $(jourst).attr('maghrib');
                        document.getElementById("lblIsha").innerHTML                =    $(jourst).attr('isha');
                    }
                });
            }
            </script>
    <body onload="init()">
    Merci à l'avance de vos réponses éclairantes

  2. #2
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Je ne sais pas s'il y a un lien avec ton problème, mais note que ton appel Ajax est synchrone (async: false), et c'est une mauvaise pratique. Corrige ça dès que tu le peux.

    Si le xml est bien reçu, peut-être que c'est au moment de l'interprétation que ça déconne. As-tu essayé console.log(xml) dans ta fonction success ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci de ta réponse mais pour la synchronisation d'ajax c'est fait exprès j'ai essayé en asynchrone mais ça n'a pas marché je me suis donc tourné sur l'asynchrone. Je vais tenter d'utiliser consolelog(xml) et je te donnerai des nouvelles parce je pense aussi que c'est bien l'intérprétation qui ne marche pas, toutefois je trouve ça bizarre que ça marche sur pc et pas par android.

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    J'ai essayé console.log(xml) comme tu l'as dit sur pc ça marche parfaitement mais sur android rien s'affiche sur la console pourtant d'après le network dans developer tool de chrome le fichier xml arrive bien. Je ne sais plus quoi faire j'ai aussi essayé en asynchrone ou synchrone rien n'y fait
    Si tu aurais d'autres idées n'hésite pas s'il te plaît.

  5. #5
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    J'ai pas d'idées… Essaye de placer des console.log un peu partout pour voir ce qui marche et ce qui ne marche pas.

    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
    function init()
            {
                listboxvillechange();
                console.log('fin de init');
            }
     
            …
     
                    success: function(xml) {
                        console.log('xml = (%s) %o', typeof xml, xml);
                        var jourst = $(xml).find('day').get(0);        // pour un seul :
                        console.log('jourst = (%s) %o', typeof jourst, jourst);
     
                        document.getElementById("lblFajr") …
                        … = $(jourst).attr('isha');
     
                        console.log('fin de success');
                    }

  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Merci de ton aide j'ai essayé ton code donc comme d'hab sur l'ordi ça marche bien mais sur android seul "fin de init" est affiché sur la console le reste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    console.log('xml = (%s) %o', typeof xml, xml);
    console.log('jourst = (%s) %o', typeof jourst, jourst);
    console.log('fin de success');
    ne s'affiche pas sur la console.

    Le problème viendrait donc peut-être de la fonction success?

  7. #7
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Curieux, c'est comme si la requête Ajax échouait… Pourtant tu as dit que le fichier était bien reçu d'après la console.
    Ajoute une callback sur error, tu auras peut-être plus d'infos.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $.ajax({error: function( jqXHR, textStatus, errorThrown ) {
        console.error('Erreur ajax :', jqXHR.status, textStatus, errorThrown);
      }
    });

  8. #8
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    C'est bien ce que tu disais le fichier est reçu et pourtant l'ajax echoue puisque c'est la fonction error qui fonctionne

    Nom : console erreur.PNG
Affichages : 87
Taille : 28,5 Ko


    Nom : err.PNG
Affichages : 81
Taille : 17,3 Ko


    Je compte sur toi pour m'éclairer un peu plus puisque la console dit que le xhr a fini mais ajax échoue je ne sais pas quoi essayer d'autre ?

  9. #9
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    C'est une parsererror, ça signifie qu'il y a un problème au niveau de l'interprétation du xml. Vu que ça marche sous Chrome desktop, je me risque à supposer que jQuery s'appuie sur les capacités du navigateur pour analyser le xml (ce qui est une connerie à mon avis, mais bref).

    Il y a sans doute un problème avec le format du xml envoyé par ton serveur. Pourrais-tu m'en montrer un échantillon ?

  10. #10
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Le problème se précise un peu plus grâce à toi en fait je crois qu'il y a des erreurs dans le fichier xml reçu.

    Pour android où ça ne marche pas
    Nom : nouerr.PNG
Affichages : 79
Taille : 58,4 Ko
    Nom : nouverr2.PNG
Affichages : 81
Taille : 53,1 Ko

    Pour desktop où ça marche
    Nom : desktop 22.PNG
Affichages : 79
Taille : 59,1 Ko
    Nom : desktop.PNG
Affichages : 82
Taille : 58,0 Ko

  11. #11
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    En fait tu as un problème dans le script php qui génère ton xml : il émet des avertissements. Tes deux serveurs (mobile et desktop) ne doivent pas avoir la même configuration vis-à-vis de l'affichage des avertissements.

    Tu as donc trois avertissements concernant les index 'ConventionDetails', 'hiddeninfo' et 'multiinput'. Undefined index signifie qu'il n'y a pas de données à ces index dans le tableau auquel tu essayes d'accéder. Je suppose que c'est le tableau $_GET. Tu as sans doute oublié de mettre des test isset, par exemple :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (isset($_GET['ConventionDetails']) {}

  12. #12
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2016
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2016
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Tous mes remerciements sont pour toi Waitlin j'ai défini les valeurs par "" et ça a marché on a bien galéré mais ça a marché. Merci pour tous et je te souhaite bonne continuation.

  13. #13
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Merci, à toi aussi

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

Discussions similaires

  1. Javascript sous android
    Par el_julian dans le forum Android
    Réponses: 1
    Dernier message: 14/10/2014, 12h37
  2. page Html / Javascript sur android ( webView ) webView / javascript
    Par kirua99 dans le forum Composants graphiques
    Réponses: 0
    Dernier message: 07/10/2014, 10h17
  3. javascript java android
    Par RICXLS dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/08/2012, 15h30
  4. Adaptation JavaScript sous Android
    Par blacktigris dans le forum Android
    Réponses: 8
    Dernier message: 19/01/2012, 07h24
  5. javascript sous android
    Par kiwkiw dans le forum Android
    Réponses: 4
    Dernier message: 29/04/2011, 11h08

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