Problèmes avec javascript de l'astuce pour les avatars partout sur la cb

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

Résolu Problèmes avec javascript de l'astuce pour les avatars partout sur la cb

Message par MlleAlys le Lun 23 Fév 2015 - 2:04

Re-bonjour !!

Alors voilà, suite à ce sujet j'ai utilisé le code de l'astuce proposée par Ea pour "ajouter les avatars où ils ne le sont pas" sur la cb (merci au passage pour tout ces codes !!)
qui est donc le suivant (au cas où) :

Code:
$(window).load(function() {
  var chatbox_script = function() {
 
    var default_avatar = 'http://illiweb.com/fa/invision/pp-blank-thumb-38px.png';
    var ava_in_member_list = true;
    var ava_in_indirect_message = true;
 
    var avatars = {};
    var d;
    var set_avatar = function(pseudo, elem_to_prepend){
      var avatar = avatars[pseudo];
      var el = $(this);
      elem_to_prepend.prepend('<span class="cb-avatar"><img src="'+(avatar||default_avatar)+'"></span>&nbsp;');
      if(!avatar) {
        if(!d) {
          d = $.get('/memberlist?change_version=prosilver').done(function(c){
            $('.avatar-mini img', c).each(function(){
              avatars[$(this).parent().text().substr(1)]= $(this).attr('src')
            })
          })
        }
        d.done(function(){
          var avatar = avatars[pseudo];
          elem_to_prepend.find('.cb-avatar img').attr('src', avatar||default_avatar)
        })
      }
    };
    var overrided = Chatbox.prototype.refresh;
    Chatbox.prototype.refresh = function(data) {
      if (data.messages) {
        $.each(data.messages, function(_,m){
          if(ava_in_indirect_message)
            m.msgColor+='\' data-username=\''+$('<div/>').text(m.username).html();
          if(m.user && m.user.avatar)
            avatars[m.username] = m.user.avatar
        });
      }
      var next_scroll = !this.messages || this.messages.length != data.messages.length;
      overrided.call(this, data);
      d = null;
      ava_in_member_list && $('#chatbox_members .chatbox-username').each(function(){
        set_avatar($(this).text(), $(this).parent());
      });
      ava_in_indirect_message && $('#chatbox p > .msg').wrap('<span class="user-msg indirect-user-msg" />').each(function(){
        set_avatar($(this).children().attr('data-username'), $(this).parent());
      });
      if(next_scroll) $("#chatbox")[0].scrollTop = $("#chatbox").prop('scrollHeight') * 2
    };
  };
  var s=document.createElement('script');s.text="("+chatbox_script.toString()+")();";$('object[data^="/chatbox/index.forum"],iframe[src^="/chatbox/index.forum"]').each(function(){try{$(this.contentDocument||this.contentWindow.document).find("head").first().each(function(){this.appendChild(s.cloneNode(!0))})}catch(a){}})
});

(je ne m'y connais quasiment pas en javascript donc je n'y ai pas touché du tout ^^)

J'ai réussi à afficher tous les avatars où et comme je voulais ou presque, mais j'ai sans doute mis en résolu trop vite, car j'ai remarqué un petit soucis (j'ai bien vérifié que c'était ce java qui causait cela sur mon forum vierge) :

Lors de la déconnexion via la commande /exit de la cb, la chatbox elle même affiche bien "vous êtes déconnecté" mais la barre de saisie reste en dessous ainsi que les liens "déconnexion" et "archives" en haut à droite.
Et du coup pour que la cb passe complètement en mode déconnecté normal, il faut poster quelque chose ou actualiser la page...
capture :

Bref, ce n'est pas encore trop gênant, mais un peu casse pieds ! x3


Merci d'avance à ceux qui se pencheront sur ce problème ! Thanks


Dernière édition par MlleAlys le Lun 23 Fév 2015 - 14:29, édité 1 fois

MlleAlys
+ Hyperactif +

Messages : 4407
Inscrit(e) le : 12/09/2012

MlleAlys a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Problèmes avec javascript de l'astuce pour les avatars partout sur la cb

Message par Ea le Lun 23 Fév 2015 - 3:39

Bonjour,


J'ai mis à jour le code dans le tutoriel.

Il y avait un cas que je n'avais pas pris en compte qui n'arrivait qu'en faisant le "/exit".

Cordialement.

Ea
Aidactif
Aidactif

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

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

Résolu Re: Problèmes avec javascript de l'astuce pour les avatars partout sur la cb

Message par MlleAlys le Lun 23 Fév 2015 - 13:26

Bonjour !!
merci, plus de problème de ce côté là !! =)

Par contre j'ai remarqué autre chose : quand on est déconnecté, il y a deux avatars à côté des membres connectés :
capture :
Je suppose que ce n'est pas normal ? Razz

MlleAlys
+ Hyperactif +

Messages : 4407
Inscrit(e) le : 12/09/2012

MlleAlys a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Problèmes avec javascript de l'astuce pour les avatars partout sur la cb

Message par Ea le Lun 23 Fév 2015 - 13:44

Je ne vois pas pourquoi ça arrivait mais j'ai fait à nouveau une modification.

Maintenant avant d'ajouter l'avatar, le script regarde si il n'y en a pas déjà un ( et le supprime ).

Ea
Aidactif
Aidactif

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

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

Résolu Re: Problèmes avec javascript de l'astuce pour les avatars partout sur la cb

Message par MlleAlys le Lun 23 Fév 2015 - 14:28

je ne sais pas non plus pourquoi ça faisait ça, mais ça ne le fait plus avec le nouveau code en tout cas, merci !! =)

et comme je ne vois rien d'autre de bizarre, je passe en résolu ^^

Thanks

MlleAlys
+ Hyperactif +

Messages : 4407
Inscrit(e) le : 12/09/2012

MlleAlys 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