Compteur de mots avec le nouvel éditeur

3 participants

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

Résolu Compteur de mots avec le nouvel éditeur

Message par Hespéride Desengaño Lun 1 Juil 2013 - 10:49

Bonjour,

Avant la mise en place du nouvel éditeur, nous avions sur notre forum un compteur de mots installé dans les templates, et le nombre de mots écrits s'affichait au-dessus du champ de texte, avec les boutons d'édition.
Pour que le nouvel éditeur puisse s'afficher correctement en mode réponse "normale", nous avons du réinitialiser les templates et donc, nous avons perdu notre code pour le compteur de mots.
On pourrait le retrouver sur les différents forums d'entraide mais, serait-il compatible avec un nouvel éditeur ?
Si non, est-ce que vous pourriez nous filer un coup de main pour l'installer ?

D'avance, merci Smile


Dernière édition par Hespéride Desengaño le Lun 1 Juil 2013 - 14:50, édité 1 fois
avatar

Hespéride Desengaño
Nouveau membre

Messages : 20
Inscrit(e) le : 09/09/2008

http://back-to-hogwarts.forumactif.org/forum.htm
Hespéride Desengaño a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Compteur de mots avec le nouvel éditeur

Message par Toad59 Lun 1 Juil 2013 - 10:52

Bonjour,

Avez-vous essayé le code avec le nouvel éditeur ?
avatar

Toad59
****

Masculin
Messages : 248
Inscrit(e) le : 27/03/2012

http://www.google.com
Toad59 a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Compteur de mots avec le nouvel éditeur

Message par Hespéride Desengaño Lun 1 Juil 2013 - 11:08

Nous n'avons pas encore essayé non. Déjà la première fois qu'il avait été mis, celle qui s'en occupait avait galéré pendant une semaine pour que ça n'interfère pas avec les codes des profils etc.
Avant de nous embarquer dans cette galère, on aurait aimé savoir si certains avaient déjà testé ou non, si des solutions avaient été trouvées, ou pas Smile
avatar

Hespéride Desengaño
Nouveau membre

Messages : 20
Inscrit(e) le : 09/09/2008

http://back-to-hogwarts.forumactif.org/forum.htm
Hespéride Desengaño a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Compteur de mots avec le nouvel éditeur

Message par Ea Lun 1 Juil 2013 - 12:01

Bonjour,


Voici un exemple de script a mettre sur toutes les pages :

Code:
var wordcount_signaled= false;

$(function(){
  if(!$('#text_editor_textarea').length || !$.fn["sceditor"]) return;

  $(function(){

    var e= $('#text_editor_textarea').sceditor('instance');
    if(!e) return;

    var w= $('<div class="word-count"></div>').appendTo('.sceditor-container');

    var wc= function(){
      var t= e.val().replace(/\[.*?\]/g,' ').replace(/<.*?>/g,' ').replace(/[\x00-\x40\x5b-\x60\x7b-\x7e]/g,' ');
      w.html('Caractères : '+(t.match(/\S/g)||[]).length+' Mots : '+(t.match(/\S{3,}/g)||[]).length);
      wordcount_signaled= false
    };

    e.keyDown(function(){
      if(wordcount_signaled) return;
      wordcount_signaled= true;
      setTimeout(function(){ wc() }, 2000)
    });

    wc()

  })

});

le script considère qu'un mot ne compte pas entre crochet ( entre [ et ] ) et signe plus grand moins grand ( entre < et > ), si vous ne voulez pas que ce soit le cas il faut supprimer respectivement :

Code:
.replace(/\[.*?\]/g,' ')

et ou :

Code:
.replace(/<.*?>/g,' ')

Le script considère qu'un mot fait au moins 3 lettres, si vous voulez baissez ou augmenter cette longueur, il faut modifier le 3 dans :

Code:
.match(/\S{3,}/g)

La ligne indiquant le nombre de caractère et mot se trouve dans un bloc avec la classe word-count, vous pouvez donc modifier son style par css, par exemple :

Code:
.word-count { text-align: right; font-weight: normal; padding-right: 10px!important; font-style: italic; font-size: 0.8em; color: #999; }

Vous pouvez changer la structure de la ligne en changeant la ligne du script :

Code:
w.html('Caractères : '+(t.match(/\S/g)||[]).length+' Mots : '+(t.match(/\S{3,}/g)||[]).length);

Le compte est mis à jour au plus vite toutes les 2 secondes, si vous voulez changer cela il faut changer le 2000 de cette ligne :

Code:
setTimeout(function(){ wc() }, 2000)

et mettre à la place le nombre de milliseconde de temps de mise à jour minimum désiré.

Puis pour finir, le bloc avec les mots est mis en bas de l'éditeur, mais en modifiant le ".sceditor-container" dans la ligne :

Code:
var w= $('<div class="word-count"></div>').appendTo('.sceditor-container');

on peut le mettre n'importe où.

Cordialement.


Dernière édition par Ea le Sam 9 Aoû 2014 - 23:41, édité 2 fois
Ea

Ea
Aidactif
Aidactif

Messages : 23583
Inscrit(e) le : 04/04/2008

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

Résolu Re: Compteur de mots avec le nouvel éditeur

Message par Hespéride Desengaño Lun 1 Juil 2013 - 14:50

C'est super, ça marche !
Merci beaucoup beaucoup de nous avoir partagé ce code, il est installé et actif sur notre forum.
Encore merci :thanks: 

(je passe en résolu)
avatar

Hespéride Desengaño
Nouveau membre

Messages : 20
Inscrit(e) le : 09/09/2008

http://back-to-hogwarts.forumactif.org/forum.htm
Hespéride Desengaño 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