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

jQuery Discussion :

RSForm jquery.ready ne semble par réagir sur Internet explorer et safari iOS8


Sujet :

jQuery

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 54
    Points
    54
    Par défaut RSForm jquery.ready ne semble par réagir sur Internet explorer et safari iOS8
    J'ai créé un script AJAX pour le composant RSForm Joomla qui permet de calculé un tarif grâce à l'API Google distancematrix.
    Ce module fonctionne bien sur la plupart des navigateurs, sauf sur Internet explorer et safari iOS8.

    Voici l'adresse du module http://www.navette-discount.fr/fr/#devis-reservation

    Et voici la partie du script qui semble ne pas fonctionner sur ces navigateurs. Quelle est selon vous la solution alternative?
    Doit on repasser par l'utilisation de l'objet XHR?

    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
    <script>
     
    jQuery(document).ready(function(){ // we wait until DOM is ready 
                    jQuery('#search').click(function(){ // we bind a function when clicking the button we added earlier
     
                                   //traitement des variables.                         
     
                                   jQuery.ajax({ // we build the AJAX request
                                                                   type:"POST", 
                                                                   url:"index.php?option=com_rsform&formId=11&action=ajax", // Due to Cross Origin Request Blocks we need to call it sever side (this is the reason why we created the PHP script called on form display ) please make sure you use the correct formId (the ID of this form)
                                                                   data: {origin, destination}, // we send the origin and destination information to the script we already crated 
                                                                   success: function(results) {
     
                                                                                   //traitement et affichage du résultat
     
                                                                                                  //Display results
                                                                                   jQuery("#resultat").html('<p class="alert alert-info center lead"><strong>Distance : '+km+' Km</strong><br/><strong>Tarif : '+estimation+'€</strong></p>');
     
     
     
     
                                                                                   }
     
     
                                                                   }
     
                                   });
     
                    });
     
    })
     
    </script>

    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Hello,

    si tu t'intéresses à l'objet XHR, alors ce n'est pas jQuery.ready() qui te concerne, mais jQuery.ajax().

    Je doute fort que la notation {origin, destination} soit largement gérée par les navigateurs. Ils vont probablement voir une erreur de parsing à la place.
    Ça fait quoi si tu remplaces par la notation habituelle ?
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 54
    Points
    54
    Par défaut Problème avec RSForm, Jquery().ready et internet Explorer
    Salut,

    Non en fait je n'utilise pas vraiment JQuery, mais le JQuery.ajax est moins chiant à coder que XHR seulement le problème ne vient pas de là mais bien de JQuery.ready{}
    A l'intérieur de ce code rien ne se lance, pas même un simple alert(). sur les navigateurs cités. Ils ne doivent pas reconnaitre cet objet. Mais je cherche une alternative rapide et simple.

    cdt

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    à la place du "jQuery.ready" essayez la version résumée comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    jQuery(function () {
        alert("C'est lancé !");
    })
    et réessayez cet exemple de base sur chaque navigateur

    quelle version de jQuery utilisez vous ?

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    J'ai testé avec jQuery(function () mais même résultat (ne fonctionne pas sous IE)
    La version de jQuery utilisée est la "1.12.4"

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 407
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 407
    Points : 4 847
    Points
    4 847
    Par défaut
    je pense qu'il faut voir auprès de jQuery.noConflict();

  7. #7
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    le test avec jQuery fonctionne bien avec Internet Explorer 11 :
    http://jsbin.com/yefagerequ/edit?html,js,output

    regardez dans la console de développement et vous verrez une erreur avec Internet Explorer

  8. #8
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 54
    Points
    54
    Par défaut Problème syntaxe jQuery.ajax sur internet Explorer et iOS 8-
    Ok alors les consoles des navigateurs Internet Explorer me renvoie l'erreur : SCRIPT1003 : expected ':' au niveau de cette ligne de script

    data:{origin, destination}, // we send the origin and destination information to the script we already created

    je pense que c'est cette syntaxe de l'objet JQuery.ajax qui fait planter le script sur ces versions un peu plus anciennes...

  9. #9
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Cette syntaxe n'a rien à voir avec jQuery, c'est du pur JavaScript, et effectivement implémenté assez récemment dans les navigateurs.

    Il me semble que c'est ce que j'ai dit depuis le début d'ailleurs -_-°.

    Bref, il suffit de ne pas s'en servir et d'écrire l'objet comme d'habitude à la place.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  10. #10
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 54
    Points
    54
    Par défaut Problème syntaxe jQuery.ajax sur internet Explorer et iOS 8-
    Super, mais en fait qu'elle serait la syntaxe "comme d'habitude" pour l'ecriture de JQuery.ajax tel que je l'utilise ici, sachant que d'habitude j'utilise XHR?

    Bien cordialement

  11. #11
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Cette notation, {origin, destination}. Ce n'est pas quelque chose que tu as trouvé quelque part, ce n'est pas dans un tutoriel, il n'y a rien ni personne qui t'a montré que ça marchera si tu écris ça, n'est-ce pas ?
    C'est quelque chose que tu as inventé tout seul dans ton coin, et le hasard a voulu que ça fasse le résultat espéré dans certains navigateurs. On est bien d'accord ?

    Eh bien peut-être qu'il aurait mieux valu regarder les tutoriels et exemples qu'on trouve sur Internet, et faire quelque chose d'un peu pareil. Tu ne crois pas ?

    Bref, quand on écrit

    C'est dans le JavaScript cutting-edge, un raccourci de l'écriture habituelle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    {
      origin: origin,
      destination: destination
    }
    Après rien ne t'empêche d'adapter un peu pour le rendre plus joli.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  12. #12
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2013
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2013
    Messages : 23
    Points : 54
    Points
    54
    Par défaut Notation JavaScript
    Bonjour,

    Non ce n'est pas tout à fait ça. Je ne l'ai pas "inventé tout seul dans mon coin"... Je suis tombé sur un post dans le forum du composant RSForm pour Joomla!

    Après j'avoue très franchement avoir paré au plus pressé sans faire toute la gamme de test habituelle, ni me renseigner plus que ça sur le code en question...

    En tout cas, je te remercie pour l'info, celà fonctionne parfaitement bien avec le code que tu m'as donné.

    Sur ce, je vais aller rafraichir mes infos sur la question

    Cordialement

    Emeric

  13. #13
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Ah. C'est un peu dommage quand même qu'il y ait des exemples comme ça, alors que cette notation est un peu récente.

    Mais bon, dans ce cas je comprends.

    Du coup j'ai bien fait de mettre un petit exemple.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/08/2013, 15h48
  2. jQuery & caractères spéciaux sur Internet Explorer
    Par manudwarf dans le forum jQuery
    Réponses: 10
    Dernier message: 12/01/2012, 10h18
  3. lien marche sur internet explorer et non sur autre
    Par xman_genius dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/04/2006, 18h11
  4. EXTENSIONS XML, XSL, XSLT, sur internet explorer 6 pack 2
    Par superjeanpi dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 08/12/2004, 12h11

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