Au sujet de l'avatar d'un membre ayant posté en dernier sur le forum

2 participants

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

Résolu Au sujet de l'avatar d'un membre ayant posté en dernier sur le forum

Message par Eevee's Sam 16 Nov 2013 - 17:46

Bonsoir,

J'ai un forum et il y'a quelques minutes, j'ai changé d'avatar et il ne veux pas s'afficher a gauche des sous-forums. J'ai installé le code pour l'avatar d'un membre ayant posté en dernier sur le forum et il me met mon ancien avatar ! Va-t-il s'actualiser tout seul ? 

Cordialement


Dernière édition par Eevee's le Sam 16 Nov 2013 - 18:24, édité 1 fois
Eevee's

Eevee's
*

Masculin
Messages : 39
Inscrit(e) le : 16/11/2013

http://pokemimi.forumactif.org/
Eevee's a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Au sujet de l'avatar d'un membre ayant posté en dernier sur le forum

Message par Ea Sam 16 Nov 2013 - 18:08

Bonjour,


Si il s'agit du tutoriel Avatar du membre ayant posté en dernier sur l'index du forum, le temps de cache est indiqué dans cette partie :

Code:
    // Temps de cache, ici 24 h * 60 m * 60 s * 1000 ms donc un jour
    var caching_time= 24*60*60*1000;
il est de 24 heures par défaut : cela signifie que pour se mettre à jour ça prendrait entre 0 et 24 heures.

Pour tester vous pouvez le mettre à 0 ( en remplaçant 24*60*60*1000 par 0 ) : alors les avatars devraient être rechargé à chaque affichage de la page.

Par contre si on n'est pas en train de tester, il vaut mieux le mettre à au moins 1 heure ( 60*60*1000 ) car charger des dizaines de page de profil à chaque fois que la page est affichée pourrait causer problème.

Cordialement.
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: Au sujet de l'avatar d'un membre ayant posté en dernier sur le forum

Message par Eevee's Sam 16 Nov 2013 - 18:20

Bonsoir,
Voici le code enregistré
Code:
$(function(){
 
  if(!window.localStorage) return;
 
  // Avatar par défaut
    var default_avatar= 'http://2img.net/i/fa/invision/pp-blank-thumb.png';
 
  // Temps de cache, ici 24 h * 60 m * 60 s * 1000 ms donc un jour
    var caching_time= 24*60*60*1000;
 
  // Temps de cache d'une erreur, ici 60 s * 1000 ms donc une minute
    var caching_error= 60*1000;
 
  var set_avatar= function(id) {
        $('.mini_ava.member'+id).html('<img src="'+get_avatar(id)+'" />');
    };
 
  var get_avatar= function(id) {
        if(localStorage.getItem('t_ava'+id) < +new Date - caching_time || (localStorage.getItem('d_ava'+id)==default_avatar && localStorage.getItem('t_ava'+id) < +new Date - caching_error))
        {
            localStorage.setItem('d_ava'+id, default_avatar);
            $.get('/u'+id, function (d){
                localStorage.setItem('t_ava'+id,+new Date);
                localStorage.setItem('d_ava'+id, $('#profile-advanced-right .module:first div img:first,.forumline td.row1.gensmall:first > img, .frm-set.profile-view.left dd img,dl.left-box.details:first dd img, .row1 b .gen:first img, .real_avatar img',d).first().attr('src')||default_avatar);
                set_avatar(id);
            });
        }
        return localStorage.getItem('d_ava'+id);
    };
 
  var to_replace= {};
 
  $('dd.lastpost strong a.gensmall, .ipbtable tr td:last-child span strong a.gensmall, .table td.tcr strong a.gensmall, .forumline .row3.over strong a.gensmall').each(function(){
        to_replace[$(this).attr('href').substr(2)]= 1;
        $(this).closest('td,dd').prepend('<div class="mini_ava member'+$(this).attr('href').substr(2)+'"></div>');
    });
 
  for(i in to_replace)
    {
        set_avatar(i);
    };
 
});
Je n'ai pas vraiment compris a ce que vous avez dit alors pouvez vous m'écrire le code pour que ça remarche ?
Merci d'avance
Cordialement.
Eevee's

Eevee's
*

Masculin
Messages : 39
Inscrit(e) le : 16/11/2013

http://pokemimi.forumactif.org/
Eevee's a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Au sujet de l'avatar d'un membre ayant posté en dernier sur le forum

Message par Eevee's Sam 16 Nov 2013 - 18:24

J'ai supprimé puis remit le code, ça a tout remis dans l'ordre, désolé du dérangement ^^
Eevee's

Eevee's
*

Masculin
Messages : 39
Inscrit(e) le : 16/11/2013

http://pokemimi.forumactif.org/
Eevee's a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Au sujet de l'avatar d'un membre ayant posté en dernier sur le forum

Message par Ea Sam 16 Nov 2013 - 18:25

Si vous voulez tester sans le cache, vous pouvez remplacer :

Code:
    var caching_time= 24*60*60*1000;
par :

Code:
    var caching_time= 0;
ensuite vous pouvez aller sur la page et voir si votre avatar s'est bien mis à jour ( ça devrait être le cas )

une fois cela fait, vous pouvez modifier à nouveau :

Code:
    var caching_time= 0;
par exemple par :

Code:
    var caching_time= 60*60*1000;
afin que le cache ( en cas de changement d'avatar ) dure une heure.
Ea

Ea
Aidactif
Aidactif

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

Ea 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