Code jQuery inactifs pour les invités

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

Résolu Code jQuery inactifs pour les invités

Message par Dreika le Dim 30 Oct 2016 - 12:10

Détails techniques


Version du forum : phpBB2
Poste occupé : Administrateur
Navigateur(s) concerné(s) : Mozilla Firefox, Google Chrome
Personnes concernées par le problème : Tous les utilisateurs
Lien du forum :

Description du problème

Bonjour tout le monde ! Smile

Après une longue phase de recherche pour vérifier que ma question n'ait pas déjà été posée, je n'ai pas trouvé de topic avec un sujet similaire. Pourtant je pense que je ne dois pas être la seule à avoir rencontré ce problème ...

Je travaille actuellement sur un forum sur lequel je modifie énormément les templates et utilise pas mal de script jQuery. Tous ces scripts marchent comme je le souhaite, mais uniquement lorsque je suis connectée au forum : une fois déconnecté, en statut "invité", le forum s'affiche comme si ces script ne s’exécutaient pas, et ça pose des soucis visuels assez gênants ... Par contre, les script Javascript classiques, eux, s'affichent correctement.
La librairy jQuery a l'air de se charger de la même manière pour les personnes connectées ou déconnectées, j'ai du coup du mal à cerner le problème et à voir d'où il vient ... Est-ce une restriction obligatoire, une option à activer ..? :/

Merci d'avance de l'attention portée à ma question ! Smile


Dernière édition par Dreika le Dim 30 Oct 2016 - 13:13, édité 1 fois
avatar

Dreika
Nouveau membre

Messages : 9
Inscrit(e) le : 16/06/2012

Dreika a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code jQuery inactifs pour les invités

Message par Eluknow le Dim 30 Oct 2016 - 12:17

On pourrait avoir le lien de ton forum =$ ?
avatar

Eluknow
Nouveau membre

Messages : 19
Inscrit(e) le : 04/03/2016

http://www.a-toi-de-coder.forumactif.org
Eluknow a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code jQuery inactifs pour les invités

Message par Neptunia le Dim 30 Oct 2016 - 12:21

Bonjour ^^

Il n'y a aucune restriction à cette bibliothèque.

Veillez simplement à ne pas placer les scripts au mauvais endroit dans vos templates.
Exemple typique de mauvais endroit :
A l'intérieur de cette boucle
Code:
<!-- BEGIN switch_user_logged_in -->
...
<!-- END switch_user_logged_in -->

Veiller aussi à ne pas utiliser de condition excluant les invités. Par exemple vérifier la présence du lien vers le profil ou pour se déconnecter.

Si ces quelques explications ne suffisent pas, merci de nous fournir un exemple précis.
avatar

Neptunia
Membre actif

Féminin
Messages : 12008
Inscrit(e) le : 08/08/2010

https://www.galaxie-series.net/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code jQuery inactifs pour les invités

Message par Dreika le Dim 30 Oct 2016 - 12:35

Eluknow, voila le lien ! http://astrornrpg.forumactif.com

Neptunia, merci pour cette réponse ! En effet, pour la boucle, c'est la première chose que j'ai vérifié, mais il se trouve que mes codes jQuery sont placés en dehors de celle-ci. J'ai aussi fait attention aux conditions.

Comme exemple le plus simple, je peux citer le fil d'Ariane que je souhaite placer en haut du forum, sous la "barre de navigation", mais uniquement lors de l'affichage d'un sous-forum ou d'un message.

J'ai donc placé ce code dans le template index_box pour afficher le fil
Code:
            <div class="forum-nav breadcrumb">
              <span class="breadcrump-outer">
                <a class="nav" href="{U_INDEX}"><span>{L_INDEX}</span></a>{NAV_CAT_DESC}
              </span>
            </div>

et ce code jQuery pour ne pas l'afficher sur l'index (toujours dans index_box)
Code:
$(document).ready(function() {
    if ( $('.home-wrapper').length){
      $('.breadcrumb').hide();
    }
});
"home-wrapper" étant une class utilisée seulement sur l'index du forum

Sauf que sous le statut "invité", le fil s'affiche malgré tout sur l'index :/ Lorsque j'affiche le code source, je vois bel et bien mon script présent sur la page, mais il n'a pas l'air de vouloir s'exécuter
avatar

Dreika
Nouveau membre

Messages : 9
Inscrit(e) le : 16/06/2012

Dreika a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code jQuery inactifs pour les invités

Message par Eluknow le Dim 30 Oct 2016 - 13:00

Coucou Smile

Sur l'index de ton fofo', en tant qu'invité, j'ai une erreur js dans la console. C'est peut être ça qui empêche le reste du jQuery de s'afficher. Je suppose que cette erreur là car tu effectues une condition sur qqchose qui doit être là uniquement quand la personne est connectée. Voici l'erreur :
avatar

Eluknow
Nouveau membre

Messages : 19
Inscrit(e) le : 04/03/2016

http://www.a-toi-de-coder.forumactif.org
Eluknow a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code jQuery inactifs pour les invités

Message par Dreika le Dim 30 Oct 2016 - 13:12

Wao, merci énormément Eluknow !
Je viens effectivement de déplacer le code concerné par l'erreur dans la boucle switch_user_logged_in et en effet, tout fonctionne miraculeusement coté invité !
J'aurais pas du tout pensé que ce script aurait pu créé des bugs pour les suivants ^^' C'est bon à savoir pour la suite !

Problème résolu du coup, merci encore ! Very Happy
avatar

Dreika
Nouveau membre

Messages : 9
Inscrit(e) le : 16/06/2012

Dreika a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code jQuery inactifs pour les invités

Message par Neptunia le Dim 30 Oct 2016 - 13:17

Sans le template complet je ne vois effectivement pas ce qui cloche, du coup je vais répondre un peu à côté de la question.

S'il s'agit de masquer un élément sur l'index principal, pourquoi passer par l'index_box et une condition alors que vous pourriez placer votre script sans condition dans le message de la page d'accueil ou même dans votre QEEL si vous ne l'affichez que sur l'index principal ?

Cela ne résoudra sans doute pas tous vos problèmes mais c'est une piste parmi d'autres.




Edité : Message rédigé pendant qu'Eluknow tapait dans le mille.
Je laisse toutefois mon message quant à l'optimisation du (non)chargement du script.
avatar

Neptunia
Membre actif

Féminin
Messages : 12008
Inscrit(e) le : 08/08/2010

https://www.galaxie-series.net/
Neptunia a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Code jQuery inactifs pour les invités

Message par Dreika le Dim 30 Oct 2016 - 13:26

En effet Neptunia, j'avais fait ce script pour pouvoir faire tout mes tests sur le même template et quand j'ai vu que ça fonctionnait, je n'ai pas pensé à le faire autrement. Mais je pense que je vais opter pour votre solution, ce sera plus propre sans mettre cette condition de class ! Smile
Merci beaucoup !
avatar

Dreika
Nouveau membre

Messages : 9
Inscrit(e) le : 16/06/2012

Dreika a été remercié(e) par l'auteur de ce sujet.

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


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