#1 01-03-2011 19:47

Anar

Un nouveau mode d'ouverture ?

Tout d'abord bonjour et merci pour ce widget que j'utilise depuis longtemps.
Je n'ai pas refait de Dotclear depuis un bon moment mais là je m'y remets...

Je voulais voir si je pouvais ajouter un nouveau mode d'ouverture de l'image qui serait en fait un simple refresh lorsque l'on clic dessus.
Pour avoir déjà codé un ou deux widgets je me débrouille à peu près mais sans rien vraiment comprendre...

Aussi, même si je vois parfaitement quelles lignes de code modifier, je ne vois pas comment faire.
Sans doute faudrait il ré-invoquer le widget lorsque l'on clic sur une image mais je ne sais pas le faire.
Et puis je me dis que çà pourrait faire une suggestion intéressante, aussi je vous la soumets.

Très cordialement.

#2 01-03-2011 21:50

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Un nouveau mode d'ouverture ?

Ça fait bien lontemps que je n'ai plus trifouiller dans le code d'un plugin dotclear mais sauf erreur dotclear met en cache la page (autrement dit il créer un fichier html "statique" un 1ère fois et affiche ce fichier "statique".

Si c'est bien le cas le seul moyen serait de faire cella en AJAX ... ce qui complique et modifie grandement le code. Et je n'ai malheureusement pas le temps d'apporter ce genre de modification sad

Si ce n'est pas le cas (simplement vérifiable en pressant le touche F5, est-ce que les images change d'un F5 à l'autre) c'est braucoup plus simple smile il suffit de faire une "javascrit reload" mais toute la page serra rechargée !

La mise en cache de dotclear est certainement configurable, mais il faut être concient que la mise en cache ne sert pas qu'a non embété. Avec un système de mise en cache l'affichage est bien plus rapide et la charge serveur bien moin élevée !

Dit moi ce que donne F5 et on regarde wink.

Hors ligne

#3 03-03-2011 11:39

Anar
Invité

Re : Un nouveau mode d'ouverture ?

Merci Jonas de ta réponse.
Je me disais bien que ce serait pas si simple...
Et puis je comprendrais parfaitement que tu n'es ni le temps, ni l'envie d'y consacrer du temps.
Aussi je te remercie de ton aide.

Oui F5 rafraichit bien la page en rappellant de nouvelles images au hasard.
Mais c'est justement pas la page entière que j'aimerais rafraichir...

Pour tout te dire, j'utilise ton plugin tel quel mais n'affiche qu'une image.
Pour celle-ci (donc pour ton plug) je n'ai pas vraiment le besoin. Ton plug est très bien tel quel.

J'ai par contre écrit un widget en me basant sur ton code (fork).
Ca fait bien longtemps et je comprends pas trop ce que je fais mais j'y arrive.
Mon "fork" n'affiche qu'une image - un gif animé - il s'agit d'une petite TV.
Mais pour "zapper" (changer de "chaine" / gif) je voulais proposer une autre alternative que le refresh de la page complète (F5).

Si c'est pas jouable je laisse tomber. Le jeu n'en vaut pas la chandelle...
Par contre je suis preneur de tous tes conseils et bonnes idées !

Encore merci.

PS (hors sujet) : sais tu si ton système anti-spam avec l'image à cliquer pour l'envoi est disponible sous DC ?

#4 03-03-2011 21:29

jonas
Administrator
Inscription : 25-06-2006
Messages : 729

Re : Un nouveau mode d'ouverture ?

C'est possible à réalisé mais ... pas tout simple smile

Il s'agit d'une petite TV.
Mais pour "zapper"...

Une télé ! zapper ça me fait penser à une truc que j'ai fais : http://mythtv-fr.tuxfamily.org/

La technique qui je trouve serait le plus propre consite à modifié l'atributs "src" du node "img" via du javascript. Mais pour ça des connaisance en javascript/DOM sont obligatoire ! C'est ce que j'ai fait sur http://mythtv-fr.tuxfamily.org/ mais ne regarde pas le code ... (1 je ne suis pas sur qu'il soit super propre - 2 Il est assez complexe (image et description dans un xml)

Une autre technique plus simple mais moins propre serait d'afficher plusieurs images avec "Images au hasard" ajouter à chacune de ces images un "id" et un "onclick" qui cache l'image actuel et montre la suivante en gros un truc comme ça

<a id="imagehazard1" onclick="document.getElementById('imagehazard1').style.display = 'none'; document.getElementById('imagehazard2').style.display = 'inline'; return False;" href="#"><img ../></a>
<a id="imagehazard2" onclick="document.getElementById('imagehazard2').style.display = 'none'; document.getElementById('imagehazard3').style.display = 'inline'; return False;" style="display:none" href="#"><img ../></a>
<a id="imagehazard3" onclick="document.getElementById('imagehazard3').style.display = 'none'; document.getElementById('imagehazard1').style.display = 'inline'; return False;" style="display:none" href="#"><img ../></a>

Que ce soit l'une au l'autre des techniques ce ne serra jamais intégré au code ! Cella serrait un autre plugin (que je ne vais pas codé) mais mon travail étant sous GNU/GPL version je sais plus la quelle tu peux sans problème forqué et redistribué wink.

Hors ligne

#5 04-03-2011 14:02

Anar
Invité

Re : Un nouveau mode d'ouverture ?

OK.
Je vais etudier ton exemple.
Il faut que je m'y remette... çà fait longtemps !

Pour ce qui est de ma petite TV, ne t'inquiètes pas c'est un one-shot que j'ai fait juste pour un blog et que je ne compte pas spécialement redistribué.
En tout cas pas sans ton autorisation et le credit qui te reviens.

Et encore merci.

Réponse rapide

Veuillez composer votre message et l'envoyer
Si vous êtes un être humain ne changez pas le contenu de ces deux champs.

Pied de page des forums