Problème de Javascript

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Problème de Javascript

Message par Shusuke Dim 5 Nov 2023 - 13:41

Détails techniques


Version du forum : ModernBB
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Mozilla Firefox, Google Chrome
Capture d'écran du problème :
Voir l'image:

Personnes concernées par le problème : Tous les utilisateurs
Lien du forum : https://www.infinite-tsukuyomi.com/

Description du problème

Bonjour !

En travaillant sur le nouveau thème de mon forum, je me suis rendue compte que j'avais des problèmes liés à l'ensemble du Javascript.

Mon précédent thème n’avait aucun souci, maintenant, lorsque j'essaye d'ajouter d'autres codes JS, ils ne fonctionnent pas. Je pense avoir supprimé d’anciens code, dont je n’ai plus accès.

Je suis obligée d’upload du Jquery 1.11.0 (https://www.infinite-tsukuyomi.com/15001.js) dans la gestion du code JS, sinon des éléments se cassent.

J'ai une partie de mon code en local envoyé vers GitHub et une autre dans les modules Forumactif.

Merci d'avance pour votre aide ♡⸜(˃ ᵕ ˂ )⸝


Dernière édition par Shusuke le Dim 5 Nov 2023 - 15:15, édité 1 fois
Shusuke

Shusuke
Nouveau membre

Messages : 8
Inscrit(e) le : 21/05/2023

https://www.infinite-tsukuyomi.com/
Shusuke a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de Javascript

Message par Toryudo Dim 5 Nov 2023 - 14:48

Bonjour !

Dans votre Template overall_header, vers le début (ça doit faire partie du code "TOOLTIP"), je vois que vous ajoutez une bibliothèque jQuery :
Code:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

Je comprends pourquoi vous le faites, parce que le script https://www.aht.li/3671577/tooltip.js qui suit en a sûrement besoin, mais ça pose un problème : vous ajoutez le chargement de jQuery 1.12.4, alors que dans la suite, Forumactif charge le jquery 1.7.2 et de ce que je comprends, vous chargez vous-même la version 1.11.0 encore ensuite... bref, un beau bazar !

Avoir plusieurs versions d'une bibliothèque, ce n'est pas quelque chose à faire, mieux vaut garder la version de Forumactif, la 1.7.2. Le fait que la fonction .live() ne fonctionne pas est une conséquence de ces multiples versions, parce que cette fonction a été supprimée depuis la version 1.9.0 de jQuery : https://api.jquery.com/live/#live-events-handler

Ce que je vous conseillerais, sans savoir si ça va marcher, c'est de déplacer toute cette partie :
Code:
<!--
 TOOLTIP --><script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script><script src="https://www.aht.li/3671577/tooltip.js"></script><script>(function($){$(document).ready(function(){$("[title]").style_my_tooltips({tip_follows_cursor:true, tip_delay_time:0, tip_fade_speed:300});});})(jQuery); jQuery(document).ready(function($){$(".scroll").click(function(event){event.preventDefault(); $('html,body').animate({scrollTop:$(this.hash).offset().top}, 500);});});</script>
Juste avant le </head> dans le Template (donc beaucoup plus bas), et de supprimer "<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>" au passage. Je ne sais pas si votre utilisation de tooltip.js fonctionnera toujours, mais ce sera beaucoup plus propre pour commencer.
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1382
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de Javascript

Message par Shusuke Dim 5 Nov 2023 - 15:14

Bonjour Toryudo !

Merci pour ta proactivité, j’ai enlevé toutes les bibliothèques de Jquery en trop comme tu me l’as suggéré. ♡

Malheureusement, je n’ai jamais réussi à faire marcher le JS lié au Tooltip.

Par contre, en supprimant les bibliothèques de JQuery les plus récentes, certains JS ne fonctionnent plus (comme l’avatar du dernier inscrit ou les boutons dans l'éditeur).

Code:
$(document).ready(function() {
  var itLastMemberLink = $('.it-typescale-title-medium a').attr('href');
  $.ajax({
    url: itLastMemberLink,
    success: function(data) {
      var itLastMemberimgUrl = $(data).find('.avatarPFIL img').attr('src');
      var itLastMemberimg = $('<img>');
      itLastMemberimg.attr('src', itLastMemberimgUrl);
      $('.it-newregister-avatar').append(itLastMemberimg);
    }
  });
});

Boutons manquants :
Problème de Javascript Screenshot-2023-11-05-at-15-27-50

Problème de Javascript Screenshot-2023-11-05-at-15-29-13

Est-ce que tu saurais m’aider ?

Merci !
Shusuke

Shusuke
Nouveau membre

Messages : 8
Inscrit(e) le : 21/05/2023

https://www.infinite-tsukuyomi.com/
Shusuke a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de Javascript

Message par Toryudo Dim 5 Nov 2023 - 17:44

On va faire ça dans l'ordre en continuant de regarder la console pour l'instant, ça corrigera peut-être le reste.
Pour l'instant, il y a toujours cette erreur :
Uncaught ReferenceError: RepeatReplace is not defined

Celle-là vient d'un js, où est écrit cette ligne :
Code:
element.innerHTML = RepeatReplace;

Effectivement, je ne sais pas non plus à quoi correspond RepeatReplace : d'après le code que je peux lire au-dessus, je pense que ça ne sert à rien, donc ça peut être retiré ! Et voyons si ça débloque tout ensuite !
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1382
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de Javascript

Message par Shusuke Dim 5 Nov 2023 - 18:11

Merci Toryudo ! En faisant la correction, les avatars sont réparés. ♡

Par contre, les boutons au niveau de l'éditeur ne fonctionnent toujours pas.
Shusuke

Shusuke
Nouveau membre

Messages : 8
Inscrit(e) le : 21/05/2023

https://www.infinite-tsukuyomi.com/
Shusuke a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Problème de Javascript

Message par Toryudo Lun 6 Nov 2023 - 14:05

Bonjour !

Alors, la nouvelle erreur :
ReferenceError: Ticker is not defined

Celle-là doit être à cause d'une modification dans votre Template overall_header. Je ne sais pas exactement ce que vous avez modifié, mais vérifiez la présence de ces lignes :
Code:
   <!-- BEGIN switch_ticker -->
   <link type="text/css" rel="stylesheet" href="{JQUERY_DIR}ticker/ticker.css"/>
   <script src="{JQUERY_DIR}ticker/ticker.js" type="text/javascript"></script>
   <!-- END switch_ticker -->

   <!-- BEGIN switch_ticker_new -->
   <script src="{JQUERY_DIR}jcarousel/jquery.jcarousel.js" type="text/javascript"></script>
   <script type="text/javascript">
      //<![CDATA[
      /* Definir le sens de direction en fonction du panneau admin */
      var tickerDirParam = "{switch_ticker.DIRECTION}";
      var slid_vert = false;
      var auto_dir = 'next';
      var h_perso = parseInt({switch_ticker.HEIGHT});

      switch (tickerDirParam) {
         case 'top' :
            slid_vert = true;
            break;

         case 'left':
            break;

         case 'bottom':
            slid_vert = true;
            auto_dir = 'prev';
            break;

         case 'right':
            auto_dir = 'prev';
            break;

         default:
            slid_vert = true;
      }

      $(document).ready(function () {

         $('#fa_ticker_content').css('display', 'block');

         var width_max = $('ul#fa_ticker_content').width();
         var width_item = Math.floor(width_max / {switch_ticker.SIZE});

         if (width_max > 0) {
            $('ul#fa_ticker_content li').css('float', 'left').css('list-style', 'none').width(width_item).find('img').each(function () {
               if ($(this).width() > width_item) {
                  var ratio = $(this).width() / width_item;
                  var new_height = Math.round($(this).height() / ratio);
                  $(this).height(new_height).width(width_item);
               }
            });

            if (slid_vert) {
               var height_max = h_perso;

               $('ul#fa_ticker_content li').each(function () {
                  if ($(this).height() > height_max) {
                     height_max = $(this).height();
                  }
               });

               $('ul#fa_ticker_content').width(width_item).height(height_max).css('marginLeft', 'auto').css('marginRight', 'auto');
               $('ul#fa_ticker_content li').height(height_max);
            }


            $('#fa_ticker_content').jcarousel({
               vertical: slid_vert,
               wrap: 'circular',
               auto: {switch_ticker.STOP_TIME},
               auto_direction: auto_dir,
               scroll: 1,
               size: {switch_ticker.SIZE},
               height_max: height_max,
               animation: {switch_ticker.SPEED}
            });
         } else {
            $('ul#fa_ticker_content li:not(:first)').css('display', 'none');
            $('ul#fa_ticker_content li:first').css('list-style', 'none').css('text-align', 'center');
         }
      });
      //]]>
   </script>
   <!-- END switch_ticker_new -->

Vous pouvez comparer avec le Template par défaut pour voir où est-ce qu'elles étaient à la base. Si vous ne savez pas trop, vous pouvez copier-coller votre Template ici, je regarderai directement !
Toryudo

Toryudo
Aidactif
Aidactif

Masculin
Messages : 1382
Inscrit(e) le : 31/03/2020

https://deus-academia.forumactif.com/
Toryudo a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Problème de Javascript

Message par Shusuke Ven 10 Nov 2023 - 22:48

Bonsoir,
Merci pour la réponse rapide !

J'avais effectivement une partie du Ticker manquant, j'ai pu le corriger et résoudre l'erreur grâce à toi.

Concernant le problème de l'éditeur de texte, j'ai trouvé la source de l'erreur ( conflit de JS ) et j'ai pu également la corriger.

Le forum fonctionne désormais correctement sans avoir à upload de Jqery en plus et je t'en remercie !
Shusuke

Shusuke
Nouveau membre

Messages : 8
Inscrit(e) le : 21/05/2023

https://www.infinite-tsukuyomi.com/
Shusuke a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum