AccueilAccueil  CalendrierCalendrier  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  S'enregistrerS'enregistrer  ConnexionConnexion  

Coupler deux scripts qui comptent les liens d'une page ♥

Aller à la page : 1, 2  Suivant
Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Coucou
Je viens vers vous parce que j'ai un petit soucis avec un script pour mon forum ♥ Enfin, plutôt qu'un soucis, c'est plus une incompréhension ~ Je ne suis pas douée avec le javascript et j'avoue que je pense m'y pencher vraiment et apprendre les bases quand j'aurais un peu plus de temps devant moi, néanmoins là tout de suite c'est du javascript que j'ai besoin pour ce que je veux faire et j'arrive au bout de mes capacités de déduction

Enfin bref. Ce que je veux faire c'est, sur mon forum hébergé par forumactif, afficher les effectifs des groupes de mon forum sur la page d'accueil au niveau du QEEL. J'ai donc cherché sur internet et trouvé deux scripts qui pourraient me permettre de faire ce que je veux !

D'abord, dans ce sujet j'ai trouvé un script que j'ai adapté pour mon forum test et qui fonctionne à moitié :
Code:
<div id="vamp"></div>
<p id="vampnombre"></p>
<script>
$("#vamp").load("g7-vampires form [name='post']", function(){
var n_vamps = $("#vamp a.gen").lenght-1;
$("#vampnombre").html(n_vamps);
});
</script>

De ce que j'y comprends, il "appelle" la page du groupe correspondant et affiche sur le qeel la liste des membres de ce groupe (que je cacherais ensuite avec un display : none). Ensuite, il compte le nombre de liens auquel il enlève 1 pour que le modérateur du groupe ne soit pas compté et affiche le nombre correspondant dans l'élément qui a la class "vampnombre". J'ai bon, jusque-là ?
Je crois que tel quel celui-ci ne fonctionne pas tel quel sur ma version de forum. Il appelle bien la partie de page concernée. Mais quoi que je fasse, il affiche "NaN", donc Not A Number, comme résultat. (Même si j'attribue une class "membres" aux liens qui m'intéressent, et en modifiant le code « var n_vamps = $("#vamp a.gen").lenght-1; » en « var n_vamps = $("#vamp .membres").lenght-1; », toujours ce NaN alors qu'il devrait être affiché 0 en théorie.)

MAIS...
... Ensuite, sur ce sujet j'ai trouvé celui-ci (que j'ai encore une fois, adapté à mon forum test) :
Code:
<p>Nombre de vampires : <span id="vampnombre"></span></p>
<iframe id="vamp" src="/g7-vampires"></iframe>
<script>
var iframe = document.getElementById('vamp');
iframe.onload = function compterLiens(){
   var liens = iframe.contentWindow.document.body.getElementsByClassName("membres");
   document.getElementById("vampnombre").textContent = liens.length;
}
</script>

Et celui-ci fonctionne.
Je le trouve plus simple, car celui-ci compte les occurrences de l'élément que je veux dans l'iframe donnée. En mettant une class "membres" aux liens que je veux compter, je n'ai pas besoin de retirer 1 pour enlever le modérateur, ce qui est chouette.

En revanche (et c'est là qu'est le soucis principal o/) le deuxième code fonctionne avec les iframes et ça me gêne beaucoup parce que ça rajoute du chargement à la page. Je voudrais donc les "coupler" car le fonctionnement du deuxième me paraît plus simple mais le premier n'appelle que la partie de la page concernée et il y a donc moins de chargement. (Je crois ?)

Seulement voilà, dans la théorie je comprends comment faire, mais dans la pratique, pas moyen de comprendre comment on construit un code javascript et le fait que le deuxième code ait "iframe" marqué partout m'embête tout le temps  Crying or Very sad  J'ai beau trifouiller des trucs, ça ne donne pas grand chose. Je me sens bête parce que je suis persuadée qu'il doit être aux simples pour des yeux aguerris au javascript, ahah. Help

p.s, la question bonus:
 
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Coucou Rheah !

C'est exactement le fonctionnement du système de quêtes du forum !
Alors je peux t'aider Wink. Et le premier code est presque bon !

Bon etant en vacances sans internet fixe (partage de co') ca va être un peu compliqué mais je vais pouvoir t'aider !

Si tu veux, pour commencer, j'aimerais que tu lises un tuto' que j'ai rédigé qui concerne une partie du code qu'on utilisera : http://a-toi-de-coder.com/tutorials/3/33
Tu me dis si tu as des questions ou un pb (peut être qu'il te faut un code exclusif pour le lire je ne sais plus. Si c'est le cas je t'en donnerai un Wink)
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Wow, réponse rapide ! Merci de prendre du temps pour moi pendant tes vacances What a Face

Oh bah, justement j'étais arrivée sur ce tuto par hasard mais je ne m'y étais pas attardée parce que je ne savais pas que c'était sur le même principe Shocked Du coup après lecture et grâce à mes talents en anglais et à mes souvenirs de mes cours de maths sur les algorithmes je pense que j'ai à peu près compris le tuto. Je vois en quoi il rejoint ma demande sur le principe mais je t'avoue que je suis toujours perdue pour l'appliquer à ma situation, du coup :<
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Okay okay !

Alors, étant en vacs je vais essayer d'aller assez vite pour pas bouffer ma connexion internet de mon portable.

Mais pourr ça j'ai besoin du lien de ton forum et du lien vers les groupes où sont affichés leurs effectifs Wink.
Je ferai le code après du coup Wink.
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
le problème et que le premier script fait appel à Jquery (enfin je croit) alors que le deuxième et en JS pur.
Donc serte les iframe ralentisse légèrement mais l'importation Jquery (si tu ne l'utilise que pour ça) aussi.
loulou123546
avatar
Codeur VeryActif
Messages : 50
Coda'Points : 484
Date d'inscription : 04/06/2016

Niveau en programmation
HTML/CSS:
1/3  (1/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Ca n'a rien à voir :
Fa importe de lui même jQuery Wink.
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
ok, je savais pas
loulou123546
avatar
Codeur VeryActif
Messages : 50
Coda'Points : 484
Date d'inscription : 04/06/2016

Niveau en programmation
HTML/CSS:
1/3  (1/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
J'ai testé sur Atdc et ce que je pensais fonctionne donc ça va être cool on a la solution Wink. Dès que tu m'as donné tes liens je m'occupe du reste en t'expliquant le code Wink.
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Hamwn mais j'aurais pu attendre Elu, c'est pour le futur design d'Halloween de mon forum. uhuh. (je m'y prends très en avance parce que je sais que je suis tronulle et que je vais me planter sans arrêt )

Du coup pour le forum sur lequel je fais mes tests : http://test-pab.creer-forum.com/
Et pour les pages des groupes j'ai :
http://test-pab.creer-forum.com/g3-lemures
http://test-pab.creer-forum.com/g4-necros
http://test-pab.creer-forum.com/g5-zombies
http://test-pab.creer-forum.com/g6-chimeres
http://test-pab.creer-forum.com/g7-vampires

Sachant que du coup sur mon forum test seul le groupe Vampires contient 1 membre o/
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Sympa la chatbox ouverte aux invités avec i-tchat.com !

Alors, on utilise le script du tuto :
Code:
$(document).ready(function(){
$.get('http://a-toi-de-coder.forumactif.org/search?domains=a-toi-de-coder.forumactif.org&sitesearch=a-toi-de-coder.forumactif.org&ie=utf-8&oe=utf-8&hl=fr&search_author=Eluknow&search_where=f1&sort_dir=DESC', function(pageDatas)
 {
 var topics = $('.topictitle', pageDatas);
 if(topics.length){
 // C'est ok, le membre a posté dans ce sous forum !
 }
 });
});
On modifie avec nos infos :
On va chercher le lien du groupe qu'on veut :
Code:
$(document).ready(function(){
$.get('http://test-pab.creer-forum.com/g7-vampires', function(pageDatas)
 {
 var topics = $('.topictitle', pageDatas);
 if(topics.length){
 // C'est ok, le membre a posté dans ce sous forum !
 }
 });
});

On modifie les variables pour que ce soit plus explicite et on remplit nos conditions !
Code:
$(document).ready(function(){
$.get('http://test-pab.creer-forum.com/g7-vampires', function(pageDatas)
 {
 var members= $('a.gen strong', pageDatas);
 if(members.length-1 >= 1){
 alert(members.length-1);
 }
 else{
 alert('Il n'y a aucun membre dans le groupe');
}
 });
});

Mais là y'a des bugs alors on met ce code :
Code:
$(document).ready(function(){
$.get('http://test-pab.creer-forum.com/g7-vampires', function(pageDatas)
 {
 var members= $('a.gen strong', pageDatas);
 if(members.length-1 >= 1){
    alert(members.length-1);
 }
 else{
    alert('Il n\'y a aucun membre dans le groupe');
 }
});
});

Là, tu mets ce code dans une page HTML (modules) de ton forum, entre balises script (code en dessous), en cochant "utiliser l'entête du forum" et tu auras dans une popup le nombre de membres du groupe Wink.

On voit la suite après !

code :
Code:
<script>$(document).ready(function(){
$.get('http://test-pab.creer-forum.com/g7-vampires', function(pageDatas)
 {
 var members= $('a.gen strong', pageDatas);
 if(members.length-1 >= 1){
    alert(members.length-1);
 }
 else{
    alert('Il n\'y a aucun membre dans le groupe');
 }
});
});</script>

Si t'as des questions sur le code tu me le dis mais je fais rapide de manière à ne pas bouffer ma connexion internet !
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Je teste ça ce week-end et je reviens vers toi o/ En ce moment quand je rentre du taf je m'écroule et j'ai tout sauf l'envie de coder   Et je t'ai dis, prend pas tout ton crédit internet pour ça, ça peut attendre que tu rentres o/

En revanche j'avoue que l'idée de la pop-up me plaît pas trop, je voulais vraiment intégrer les effectifs au sein de mon qeel en fait
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
D'accord Wink. Je rentre le 22 Wink.

Oui oui t'en fais pas ! On va pas garder ça Wink. Ca c'est un test pour voir si ça fonctionne sur ton forum Wink. Si la popup s'affiche c'esr que ce sera bon !
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Oh ok !

Alors, je viens de tester, et la popup s'affiche bien o/ http://test-pab.creer-forum.com/h4-effectifs

En revanche elle me dit qu'il n'y a aucun membre dans le groupe alors qu'il devrait y en avoir un pour celui-là
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Problème d'id alors. Là je suis sur la route pour rentrer chez moi. Je regarde ce soir, j'espère avoir le temps Wink.
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Ok pas de problème uhuh o/
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Essaie avec ça : (j'ai modifié le sélecteur)

Code:
<script>$(document).ready(function(){
$.get('http://test-pab.creer-forum.com/g7-vampires', function(pageDatas)
 {
 var members= $('.row2 a span strong', pageDatas);
 if(members.length-1 >= 1){
    alert(members.length-1);
 }
 else{
    alert('Il n\'y a aucun membre dans le groupe');
 }
});
});</script>
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Ok là ça marche parfaitement o/ http://test-pab.creer-forum.com/h4-effectifs
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
D'accord !

Peux-tu me passer le code ton Qeel maintenant ?
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Je te mets la partie du qeel où je voulais afficher ça en hide, du coup :



Comme tu peux le voir j'ai prévu un endroit pour les effectifs avec "00" à chaque fois Par contre j'sais pas si ça restera sous cette forme avec les infobulles et tout, j'ai pas forcément trop fini de coder le qeel
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Coucou Smile

Je suis de retour ! Toujours prêt pour reprendre la commande ? ;Wink
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Bon retour :B

Je serais prête samedi eheh
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
*met sa casquette* Chef oui chef, je suis prête
Rheah
avatar
Codeur VeryActif
Messages : 35
Coda'Points : 165
Date d'inscription : 10/12/2015

Niveau en programmation
HTML/CSS:
0/0  (0/0)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Parfait !
Alors on commence ça demain ou lundi ! Wink.
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
On voit ca demain du coup, là je suis très fatigué et j'ai mal au bide...
Désolé !
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Re: Coupler deux scripts qui comptent les liens d'une page ♥  posté le :
Coucou Smile


Alors, on va d'abord nommer (avec un id) chaque strong dans lequel il y a le fameux nombre. Par exemple, pour les vampires, on a :

J'ai donc mis l'id "nb_vampires" à la balise strong.

Tu dois faire ça avec tous les groupes. De la même manière. Par exemple, avec les nécromanciens :


Ensuite, à la fin de ton template index_body où il y'a le qeel, tu vas mettre le script qu'on va construire ensemble maintenant.
Déjà, on n'oublie pas les balises
Code:
<script></script>

Ensuite, on va reprendre notre code :
Code:
<script>$(document).ready(function(){
$.get('http://test-pab.creer-forum.com/g7-vampires', function(pageDatas)
 {
 var members= $('.row2 a span strong', pageDatas);
 if(members.length-1 >= 1){
    alert(members.length-1);
 }
 else{
    alert('Il n\'y a aucun membre dans le groupe');
 }
});
});</script>
Sauf qu'on va remplacer les fonctions alert par du jQuery qui permet de sélectionner le contenu d'une balise et qui le remplace.

On va donc sélectionner notre strong :
Code:
$('#nb_vampires')
Puis remplacer son contenu par le nombre de personnes dans le groupe :
Code:
$('#nb_vampires').html(members.length-1);

Et on fait pareil quand il n'y a pas de membres dans le groupe :
Code:

<script>$(document).ready(function(){
$.get('http://test-pab.creer-forum.com/g7-vampires', function(pageDatas)
 {
 var members= $('.row2 a span strong', pageDatas);
 if(members.length-1 >= 1){
    $('#nb_vampires').html(members.length-1);
 }
 else{
    $('#nb_vampires').html('00');
 }
});
});</script>

Et on doit faire ça avec tous les groupes.
Par exemple, si on le fait avec le groupe nécromanciens :
Code:
<script>$(document).ready(function(){
$.get('http://test-pab.creer-forum.com/g7-vampires', function(pageDatas)
 {
 var members= $('.row2 a span strong', pageDatas);
 if(members.length-1 >= 1){
    $('#nb_vampires').html(members.length-1);
 }
 else{
    $('#nb_vampires').html('00');
 }
});
$.get('http://test-pab.creer-forum.com/g4-necromanciens', function(pageDatas)
 {
 var members= $('.row2 a span strong', pageDatas);
 if(members.length-1 >= 1){
    $('#nb_necromanciens').html(members.length-1);
 }
 else{
    $('#nb_necromanciens').html('00');
 }
});
});</script>

As-tu compris ? Tu fais ça avec chaque groupe ? Smile
Eluknow
avatar
Administrateur
Messages : 2181
Coda'Points : 3888
Date d'inscription : 29/08/2013

Niveau en programmation
HTML/CSS:
3/3  (3/3)

Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
A Toi de Coder - Forum de codage :: Corbeille :: Corbeille du forum-
Sauter vers: