jQuery ne se charge plus

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] jQuery ne se charge plus

    Bonjour,

    Sur un site utilisant un template datant d'octobre 2015 (sans mise à jour récente apparemment) et ne posant pas de problème jusqu'ici, DJ-Imageslider s'est mis récemment à ne plus afficher les images. Quelle mise à jour pourrait être en cause, mystère.

    En explorant d'abord la page d'accueil, la console signalait que jQuery n'était pas chargé. Le template charge pourtant lui-même une version 1.11 présente dans son propre dossier JS.
    Je n'ai trouvé aucune explication à cette absence de chargement.

    J'ai donc réglé le problème sur un clone du site en corrigeant également d'autres soucis (remplacement de http:// par https:// notamment dans le index.php du template), mais seule l'installation de jQuery Easy a permis de faire réapparaître les diaporamas. Les modifications ont été reportées sur le site de production : plus d'erreur.

    J'ai donc récupéré une copie du dossier du template utilisé par ces sites et l'ai utilisé sur un site de test, en version 3.9.4 puis 3.9.6, avec DJ-Imageslider dans sa dernière version stable, et ô miracle, pas de problème avec jQuery qui se charge bien depuis le template ! Versions de Joomla! identiques, même template, comportement différent vis à vis du chargement de jQuery !

    Si quelqu'un a une idée de ce qui pourrait provoquer l'erreur sur le site de production et son clone sur un autre serveur, je suis preneur. Merci d'avance !
    Robert
    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

  • #2
    Salut,
    quel template ?
    Comment est chargé jQuery dans ce template - cf la ligne de code.
    Si je te lis correctement, ce template charge sa propre version de jQuery, ce qui est un non-sens avec J3.9.6.

    Re : le module djimageslider
    même si le dev s'appuie un peu trop sur la "backward compatibility" de joomla à mon avis, cette partie, dans mod_djimageslider.php :

    Code PHP:
    $jquery version_compare(JVERSION'3.0.0''>=');

    ...

    if (
    $jquery) {
        
    JHTML::_('jquery.framework'); 
    devrait charger jQuery normalement.
    Cela dit, dans le choix de chargement de scripts externes, jQuery-dépendants, le code est assez approximatif.

    De manière générale, les devs joomla resserrent de plus en plus les boulons en ce qui concerne le javascript, à raison. Peut-être que, dans l'une des toutes dernières versions de Joomla, une restriction a été ajoutée, qui a généré ce bug.
    Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

    Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

    Commentaire


    • #3
      Bonjour,

      Joomla 4.0 ne souhaite plus utiliser jQuery : voir https://developer.joomla.org/roadmap.html où l'on parle de "Removal of jQuery from core".

      Restera aux extensions à faire la même chose et, là, j'ai du boulot

      Pascal
      Les JoomlaDays Paris 2019, c'était du 8 au 9 mars... J'y étais et vous ?

      If anything can go wrong, it will...
      If I can help, I will ..https://conseilgouz.com

      Commentaire


      • #4
        Bonjour,

        Oui, mais ce qui est curieux, c'est qu'en copiant le template du site où il y a problème sur un 3.9.4 ou un 3.9.6 de test, jQuery se charge.
        Ce template est de Globberstheme et date, comme je l'ai dit, de trois ans et demi, ce qui peut expliquer des soucis sur le site de production, mais pas que ça fonctionne bien sur mon site de test.
        Le code de chargement (après des "unset" en début de fichier) :
        <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/javascript/jquery-1.11.0.min.js"></script>
        <script src='https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
        "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

        Commentaire


        • #5
          Bonjour Pascal,

          Désolé, je n'avais pas vu ta réponse. Oui, cette disparition de jQuery dans Joomla 4 va poser des problèmes !
          Je l'ai vécu en essayant de modifier Joaktree il y a quelques mois... avant d'abandonner, d'autant que d'autres modifs adaptées à une alpha (4, je crois) ne fonctionnaient plus sur la suivante.
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

          Commentaire


          • #6
            Envoyé par RobertG Voir le message
            Bonjour Pascal,

            Désolé, je n'avais pas vu ta réponse. Oui, cette disparition de jQuery dans Joomla 4 va poser des problèmes !
            Je l'ai vécu en essayant de modifier Joaktree il y a quelques mois... avant d'abandonner, d'autant que d'autres modifs adaptées à une alpha (4, je crois) ne fonctionnaient plus sur la suivante.
            JQuery est retiré du core de J4, et de boostrap4.
            Ce sont des choix techniques pour ne plus charger quelques Ko inutiles avec chaque page.
            Mais rien n'oblige à suivre ces choix, et en tous cas pas avec la même échéance.

            Moi aussi j'aurai besoin de Joaktree (mais que des fonctions d'import et d'affichage) sous J4.
            On verra cela en 2020....
            A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
            Rejoignez le Joomla Users Groupe Alsace...
            roland_d_alsace va-t-il devenir roland_du_grand_est ?

            Commentaire


            • #7
              Oui, Roland, j'avais réussi dans un premier temps à modifier Joaktree pour l'installer et afficher son administration dans J! 4, mais j'ai bloqué sur le JS d'import (on en a parlé dans une autre discussion il y a quelques mois), puis lors d'un changement de version alpha, il me semble bien, la manière d'afficher les onglets d'administration, par exemple dans la définition des sources GedCom, a changé une nouvelle fois, ce qui m'a fait laisser tomber. Je ne m'y connais pas suffisamment en JS pour tenter un import externe de jQuery...

              Par contre, il m'a fallu faire des modifications sur l'appel de la géolocalisation Google dans la version 1.5.3, que je n'ai pas reportées pour J! 4 bien sûr.
              "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

              Commentaire


              • #8
                re jQuery dans J4
                je travaille sur la J4 depuis un moment et jQuery est encore bien présent partout, en front et back. Ca m'étonnerait beaucoup que la version stable soit livrée sans.
                JQuery et bootstap sont le dossier /media/vendor/ maintenant.
                Bootstrap et fontawesome ont été updatés,
                bootstrap 4.3.1 et
                Font Awesome Free 5.8., qui a nécessité pas mal de changements

                En revanche, la couche de compatibilité (B/C) va avoir ses limites et les devs d'extensions tierces vont devoir changer leurs petites habitudes.
                Par exemple, l'essentiel de la gestion de fichiers externes (scripts JS, fichiers CSS, images) passe par :
                /libraries/src/HTML/HTMLHelper.php
                donc le namespace à utiliser est :
                Code PHP:
                use Joomla\CMS\HTML\HTMLHelper

                RobertG
                si tu vires les "unset" et la ligne
                Code:
                <script type="text/javascript" src="<?php echo $this->baseurl ?>/templates/<?php echo $this->template; ?>/javascript/jquery-1.11.0.min.js"></script>
                et que tu gardes:

                Code PHP:
                <jdoc:include type="head" /> 
                en en remettant une couche avec :
                JHtml::_('jquery.framework');
                au cas où - essaye sans d'abord.

                Joomla va charger la version jQuery correcte, ie, celle de /media/jui, v.1.12.4
                et
                jquery-migrate.js, pour la compatibilité avec des scripts dépendants de versions plus anciennes de jQuery.

                Pourquoi diable vas-tu chercher un jquery v. 2.1.3 ?

                J'aime bien l'esthétique des templates de globberstheme, mais les overrides de com_content sont à surveiller, ou plutôt il faut faire des réglages serrés.
                J'ai beaucoup travaillé sur beview.
                Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                Commentaire


                • #9
                  salut,
                  jquery vous manques ?
                  reservez lui un espace de nom et servez vous en dans vos composants......
                  Mon site en cours de construction avec de nouvelles catégories de documents...
                  https://informaticien51.fr

                  Commentaire


                  • #10
                    Merci ghazal,

                    J'ai tenté de modifier l'index.php du template sur le site clone, mais j'obtiens une page blanche. Je n'ai pas insisté (j'ai juste donné un coup de main pour refaire fonctionner DJ-Imageslider sur ce site), dans la mesure où jQuery Easy règle le problème...
                    Où as-tu vu que je vais chercher un jQuery 2.1.3 ? J'imagine que la 1.11.0 qu'utilise le template est une version personnalisée.
                    Le site clone va être upgradé en 3.10.0 dev pour test, et si de nouveaux soucis apparaissent, le template sera remplacé.
                    "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide). MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info hébergés chez PHPNET - +sites gérés chez 1and1 et OVH - Site pro : www.robertg-conseil.fr

                    Commentaire


                    • #11
                      @ghazal :
                      salut,
                      tu oublies juste un petit truc, c'est que Bootstrap inclues aussi du javascript.
                      Et ce sont ses fonctionnalités qui sont utilisées à la place de Jquery. D'ou son abandon et son retrait du noyau Joomla.

                      Et pour les dev qui en ont besoin, bah il faut l'intégrer soi même pour son composant ou son application.
                      Mon site en cours de construction avec de nouvelles catégories de documents...
                      https://informaticien51.fr

                      Commentaire

                      Annonce

                      Réduire
                      1 sur 2 < >

                      C'est [Réglé] et on n'en parle plus ?

                      A quoi ça sert ?
                      La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                      Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                      Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                      Comment ajouter la mention [Réglé] à votre discussion ?
                      1 - Aller sur votre discussion et éditer votre premier message :


                      2 - Cliquer sur la liste déroulante Préfixe.

                      3 - Choisir le préfixe [Réglé].


                      4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                      2 sur 2 < >

                      Assistance au forum - Outil de publication d'infos de votre site

                      Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                      Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                      Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                      UTILISER À VOS PROPRES RISQUES :
                      L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                      Problèmes connus :
                      FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                      Installation :

                      1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                      Archive zip : https://github.com/AFUJ/FPA/zipball/master

                      2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                      3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                      4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                      5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                      6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                      et remplacer www. votresite .com par votre nom de domaine


                      Exemples:
                      Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                      Télécharger le script fpa-fr.php dans: /public_html/
                      Pour executer le script: http://www..com/fpa-fr.php

                      Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                      Télécharger le script fpa-fr.php dans: /public_html/cms/
                      Pour executer le script: http://www..com/cms/fpa-fr.php

                      En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                      Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                      Voir plus
                      Voir moins

                      Partenaire de l'association

                      Réduire

                      Hébergeur Web PlanetHoster
                      Travaille ...
                      X