CSS qui ne charge pas avant le code JS.. ou je ne sais pas

3 participants

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

Résolu CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par ZYVHK Mer 12 Oct 2016 - 0:58

Détails techniques


Version du forum : Invision
Poste occupé : Fondateur
Navigateur(s) concerné(s) : Mozilla Firefox
Personnes concernées par le problème : Moi uniquement
Lien du forum : http://twenty-one.forumactif.com/forum

Description du problème

Salutations o/
Suite au sujet suivant : https://forum.forumactif.com/t388245-user_id-en-valeur-d-un-attribut-attache-a-ipbwrapper?nid=16#3260449

J'ai crée une section (visible pour les admins seulement) et j'essaie d'appliquer un certain CSS à celle-ci si la valeur userid du membre est égale à 2 (la mienne pour le moment)... Mais cela ne semble pas fonctionner. Pourtant, le JS est bien chargé, la feuille CSS (externe) ne contenant que les codes liés à ça également, mais rien. J'ai essayé donc en plaçant le code JS après l'import de la feuille CSS.

Voici comment la partie en question de mon template overall_header est structurée:

Code:
<link rel="stylesheet" href="lien_feuille_css_en_question" type="text/css" />

[...]

       <script type="text/javascript">
  $(function() {
        $('#ipbwrapper').attr('data-userid', _userdata["user_id"]);
    });
  </script>

Une idée ? Je ne trouve rien de clair et rapide.
J'espère être assez clair :l

Merci d'avance ~


Dernière édition par Arcadia-forum le Mer 12 Oct 2016 - 19:39, édité 1 fois
ZYVHK

ZYVHK
***

Masculin
Messages : 134
Inscrit(e) le : 05/03/2016

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par MasDan Mer 12 Oct 2016 - 7:31

Bonjour Arcadia-forum,

Pour appliquer du CSS seulement pour le membre 2, utiliser un code comme celui-ci.
[code]#ipbwrapper[data-userid="2"] { color: #FF0000; }[code]
MasDan

MasDan
Membre habitué

Masculin
Messages : 1538
Inscrit(e) le : 24/05/2011

http://projetAumMdn.forumactif.com
MasDan a été remercié(e) par l'auteur de ce sujet.

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par ZYVHK Mer 12 Oct 2016 - 10:04

Coucou,
J'ai oublié de donner un exemple du CSS, mais oui, j'ai bien procédé de la sorte :

#ipbwrapper[data-userid="2"] .f_bb[data-carte="Les quêtes"] .f_lpa {display: none}
#ipbwrapper[data-userid="2"] .f_bb[data-carte="Les quêtes"] {position: absolute;top: -100px;left: 0}


Mais toujours rien :/
ZYVHK

ZYVHK
***

Masculin
Messages : 134
Inscrit(e) le : 05/03/2016

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par Walt Mer 12 Oct 2016 - 10:48

Bonjour,

Vous êtes certain que le nom du forum est "Les quêtes", sans HTML ? Si je regarde un autre de vos forums, je vois que vous avez inséré des balises strong dans le titre du forum, donc ça donne :
Code:
<div class="f_bb" data-carte="Le <strong>Sas</strong> de sécurité" data-type="Pas de nouveaux messages">

Et le sélecteur n'est donc pas:
Code:
#ipbwrapper[data-userid="2"] .f_bb[data-carte="Le Sas de sécurité"] .f_lpa

Mais :
Code:
#ipbwrapper[data-userid="2"] .f_bb[data-carte="Le <strong>Sas</strong> de sécurité"] .f_lpa

En outre, je crois qu'il existe une variable dans le template vous permettant d'afficher l'id du forum, ça serait peut-être plus pratique que le nom dans cet attribut data-carte.

Cordialement,
Walt
Walt

Walt
Modéractif
Modéractif

Masculin
Messages : 6081
Inscrit(e) le : 08/09/2015

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par ZYVHK Mer 12 Oct 2016 - 11:03

Bonjour Walt,
Merci pour votre réponse.

Le titre du forum "Les quêtes" est clean et ne contient aucune balise HTML quelconque (strong y compris), j'y ai veillé. :B Le problème est que lorsque le forum est chargé et que j'ouvre l'inspecteur pour y insérer par exemple le code CSS que j'ai donné plus haut en exemple, ça fonctionne. Du coup, je ne sais pas trop quoi faire, mais la seule théorie qui me vient en tête est que le CSS charge après le JS qui permet de changer la valeur de l'attribut data-userid. :l
ZYVHK

ZYVHK
***

Masculin
Messages : 134
Inscrit(e) le : 05/03/2016

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par Walt Mer 12 Oct 2016 - 11:38

Premièrement vous avez un script erroné :
Code:
$(function(){if($(".f_bb[data-carte="Les quêtes"]")){$('body').addClass('tempora...

Vous utilisez des guillemets pour délimiter votre sélecteur, mais vous en utilisez également au sein du sélecteur donc ça pose problème :
Code:
$(".f_bb[data-carte="Les quêtes"]")

Il vous faut remplacer par ceci :
Code:
$(".f_bb[data-carte='Les quêtes']")

A cause de cette erreur de script, le script qui devrait insérer l'id ne le fait pas, donc votre CSS ne peut pas être pris en compte :
Code:
<div id="ipbwrapper" data-userid="0" data-userrep="0">

J'ai un data-userid égal à 0 alors même que je suis connecté. Smile
Walt

Walt
Modéractif
Modéractif

Masculin
Messages : 6081
Inscrit(e) le : 08/09/2015

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par ZYVHK Mer 12 Oct 2016 - 16:07

J'ai supprimé le code JS en question qui ne m'était plus utile, mais le problème reste le même malgré que le data-userid fonctionne :/
ZYVHK

ZYVHK
***

Masculin
Messages : 134
Inscrit(e) le : 05/03/2016

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par Walt Mer 12 Oct 2016 - 16:49

Le CSS est toujours présent dans le PA ? Je ne trouve pas dans la feuille de style qui est chargée sur le forum ( http://twenty-one.forumactif.com/0-ltr.css )
Walt

Walt
Modéractif
Modéractif

Masculin
Messages : 6081
Inscrit(e) le : 08/09/2015

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par ZYVHK Mer 12 Oct 2016 - 16:51

Il s'agit d'une feuille CSS externe, je ne peux pas faire autrement :l
ZYVHK

ZYVHK
***

Masculin
Messages : 134
Inscrit(e) le : 05/03/2016

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par Walt Mer 12 Oct 2016 - 17:06

OK, donc deux solutions :

  • soit c'est effectivement un souci de chargement inversé, auquel cas vous pouvez tester en déplaçant les feuilles de style externes juste avant la balise de fermeture </head>,

  • soit c'est l'usage même de la feuille de style externe qui pose souci
Walt

Walt
Modéractif
Modéractif

Masculin
Messages : 6081
Inscrit(e) le : 08/09/2015

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par ZYVHK Mer 12 Oct 2016 - 17:13

Je viens de déplacer les feuilles CSS juste avant le </head>, mais aucun changement. Je perds espoir :l
ZYVHK

ZYVHK
***

Masculin
Messages : 134
Inscrit(e) le : 05/03/2016

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

Résolu Re: CSS qui ne charge pas avant le code JS.. ou je ne sais pas

Message par ZYVHK Mer 12 Oct 2016 - 19:39

Re,
Navré du double post. J'ai donc eu recours à la deuxième solution proposée par Walt en transposant le CSS interne à FA dans la feuille de CSS externe et vis versa. La dernière fois que j'avais fait cela, quelques codes ne fonctionnaient pas très bien, mais j'espère que ce sera bon cette fois.

Sinon, problème p-o-m réglé, en espérant ne pas tomber sur d'autres complications. :B
Merci Walt !

    FF0000 - CSS qui ne charge pas avant le code JS.. ou je ne sais pas IOAS0Pk
ZYVHK

ZYVHK
***

Masculin
Messages : 134
Inscrit(e) le : 05/03/2016

ZYVHK 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