Cooling-Masters
Connexion · INSCRIPTION · Site Recevoir à nouveau l'e-mail de validation


Nouveau Forum En Ligne

Ajouter ou retirer ce sujet de vos favoris  ·  Suivre ce sujet  ·  Imprimer ce sujet
Pages : « Première ...  57  58  59  60  61  62  63  64  65  66  67 ...  Dernière »
Rosco


Administrateur
Messages : 25928

mercredi 06 juin 2007 à 12:41:02     
Wé je viens de looker un peu, faut rajouter plein de trucs visiblement, ça daube
Et puis visiblement ça dépendrait aussi du navigateur pour stopper la cascade d'événements si j'ai bien lu
Google




     
debugger


Membre
Messages : 2002

mercredi 06 juin 2007 à 12:44:09     
spoilers imbriqués + liens clicables

heryware.free.fr/spoiler.html

la fonction flip_spoiler a été réécrite pour être plus simple d'appel, plus concise, et stopper la propagation
les basiles <a> sont modifiées pour stopper la propagation

bizarrement, le distplay=none directement dans le css marche pas...
Rosco


Administrateur
Messages : 25928

mercredi 06 juin 2007 à 12:49:43     
Ah sympa, vais regarder + tard, mais ça me plait pas trop de modifier les <a> avec un onclick, car si faut commencer à distinguer les <a> d'un spoiler des <a> normaux, on n'a pas fini... Ca dépend pas du navigateur alors ?
Cooling


Membre
Messages : 327

mercredi 06 juin 2007 à 12:51:30     
Mwé..perso j'aime pas, si c'est pour changer tout ça, autant faire quelque chose de plus propre à base d'event, y'en a pas pour une plombe..
Rosco > t'aurais le forum dans un référentiel SVN j'aurais bien fait la modif mais bon..vu que c'est pas l'cas..
debugger


Membre
Messages : 2002

mercredi 06 juin 2007 à 12:57:40     
sauf que si tu te bases sur event, tu dépends clairement du navigateur...

tel que le j'ai fait, ça dépend pas du navigateur

et puis tu pourrais appliquer la modif des <a> à tous les <a>, car il n'y a pas de distinction

si tu ne veux pas modifier les <a>, tu peux voir quel élément déclenche le clic (un <div> ? un <a> ?) pour savoir quoi faire, mais là tu dépends du navigateur car la propriété à tester est .srcElement ou .target ou autre...
Rosco


Administrateur
Messages : 25928

mercredi 06 juin 2007 à 13:03:29     
Oui vaut mieux être indépendant du navigateur, mais pour l'instant je voudrais éviter d'avoir à modder tous les <a> car le forum stocke les messages parsés dans la BDD ce qui va faire grossir encore un peu si je modifie tout. J'ai déjà regarder pour parser à la volée en modifiant leur système (les MP sont parsés à la volée), ça réduit la taille de la BDD par 2 et c'est bien plus souple, car une modif dans le parser se répercutera automatiquement pour n'importe quel message (HFr ou PunBB sont parsés à la volée). Là, ça m'embêterais pas de modifier à ta manière toutes les balises <a>, ça ne me prendrais pas plus de place ni de ressources. Mais j'ai un souci dont je ne trouve pas la cause, le parsing à la volée ne parse que le 1er post, ensuite l'appel au parser ne veut rien savoir visiblement et je comprends pas pourquoi, faut que je pousse plus loin mes investigations, mais + tard car faut tout modifier la gestion derrière si je vire le parsing ...
debugger


Membre
Messages : 2002

mercredi 06 juin 2007 à 13:14:30     
les liens devraient être stockés dans la bdd en balises [a]

comme les [quote] qui contiennent une date/auteur, les [a] contiendraient l'url
et à la volée tu ajoutes le onclick dans la génération html
Cooling


Membre
Messages : 327

mercredi 06 juin 2007 à 13:31:28     
QUOTE (debugger @ mercredi 06 juin 2007 à 12:57:40) :

sauf que si tu te bases sur event, tu dépends clairement du navigateur...

tel que le j'ai fait, ça dépend pas du navigateur

et puis tu pourrais appliquer la modif des <a> à tous les <a>, car il n'y a pas de distinction

si tu ne veux pas modifier les <a>, tu peux voir quel élément déclenche le clic (un <div> ? un <a> ?) pour savoir quoi faire, mais là tu dépends du navigateur car la propriété à tester est .srcElement ou .target ou autre...

Y'a que 2 cas à gérer : les navigateurs w3c & m$, ça ne prend que quelques lignes pour gérer ça, suffit de faire un wrapper et y'aurait même plus besoin de modifier les <a> ou quoi que ce soit, suffirait de se baser sur la class du spoiler et l'affaire serait conclue.

edit : mais bon, si faut commencer à tout modifier, autant repartir de 0, ipb suxxant un peu des ours

Message édité par Cooling le mercredi 06 juin 2007 à 13:34:52
debugger


Membre
Messages : 2002

mercredi 06 juin 2007 à 13:38:37     
puisque "Y'a que 2 cas à gérer" et que "ça ne prend que quelques lignes pour gérer ça" et que "suffit de faire un wrapper", on attend de voir ce que tu sais faire au lieu de ce que tu sais dire

http://heryware.free.fr/spoiler.html
je sais, t'as déjà dit que ça te plait pas, pourtant c'est simple, concis, générique, et (accessoirement)... ça marche parfaitement
Vincent


troubleshooting expert :/
Messages : 7306

mercredi 06 juin 2007 à 13:41:42     
peux-tu nous montrer le code PHP STP avec les explications
debugger


Membre
Messages : 2002

mercredi 06 juin 2007 à 13:43:45     
code php ??? c'est du html statique pour servir d'exemple
Vincent


troubleshooting expert :/
Messages : 7306

mercredi 06 juin 2007 à 13:45:08     
QUOTE (debugger @ mercredi 06 juin 2007 à 13:43:45) :

code php ??? c'est du html statique pour servir d'exemple

oki, je pensais que tu avais tout fait en PHP

je voulais voir quelle est ta solution (tjrs dans le but d'apprendre)
debugger


Membre
Messages : 2002

mercredi 06 juin 2007 à 14:01:49     
finalement ça a l'air long de faire les "suffit de faire" & co

@Rosco
http://heryware.free.fr/spoiler2.html
ça fait exactement la même chose, sauf que les <a> sont modifiés dynamiquement par du javascript, mais là on teste si on a affaire à IE ou pas..
Shinuza


Mais bof quoi
Messages : 4419

mercredi 06 juin 2007 à 16:52:34     
CODE :

<script language=javascript>
   function flip_spoiler(spoiler,evt)
   { with(spoiler.childNodes[1]) style.display=(style.display=="none"?"":"none");
     stopEvent(evt);
   }
   function stopEvent(evt)
   { if(window.event) evt=event;
     evt.cancelBubble=true;
   }
 </script>


La valeur des attributs doit être entre quotes
L'attribut language n'existe pas pour la balise script
Passer par "childNodes" c'est pas portable
"with" est déconseillé
Ta manière d'accrocher les events est pas très propre, mieux faut passer par addEvent @ quirksmode
Rosco


Administrateur
Messages : 25928

mercredi 06 juin 2007 à 17:18:53     
Han quel nul Debugger !
AleiZ


Membre
Messages : 3700

mercredi 06 juin 2007 à 17:26:00     
ça devient malsain l'ambiance de ce topic

enfin pour une fois que c'est pas rosco qui prend sur la gueule
Shinuza


Mais bof quoi
Messages : 4419

mercredi 06 juin 2007 à 17:36:32     
QUOTE (AleiZ @ mercredi 06 juin 2007 à 17:26:00) :

ça devient malsain l'ambiance de ce topic

enfin pour une fois que c'est pas rosco qui prend sur la gueule

Y'a rien de malsain, ce sont juste des remarques
Shinuza


Mais bof quoi
Messages : 4419

mercredi 06 juin 2007 à 17:46:23     
http://verybadman.free.fr/Spoilers.html

Recodé avec du code non intrusif
Rosco


Administrateur
Messages : 25928

mercredi 06 juin 2007 à 17:49:28     
Mais avec 3T de JS dans tous les sens
debugger


Membre
Messages : 2002

mercredi 06 juin 2007 à 18:04:57     
+1

10 lignes vs 57 lignes pour le même résultat

y'a rien de malsain, chacun montre (ou pas) comment il fait et ça permet de s'enrichir mutuellement

par exemple Shinu fait un truc évident auquel j'ai pas pensé : de la même manière qu'on attache le clic aux <a>, on le fait aussi aux <div> et on gagne de la place
Shinuza


Mais bof quoi
Messages : 4419

mercredi 06 juin 2007 à 18:05:14     
Ce sont des fonctions que tu peux utiliser tous le temps

En plus compressé à fait 1.3ko (1.7ko non compressé)

Message édité par Shinuza le mercredi 06 juin 2007 à 18:05:57
Rosco


Administrateur
Messages : 25928

mercredi 06 juin 2007 à 18:08:24     
Spa une question de taille pour moi, moins y a de JS mieux je me porte
Shinuza


Mais bof quoi
Messages : 4419

mercredi 06 juin 2007 à 18:14:47     
Compressé ça tient sur ligne
Après t'as accès à addEvent/removeEvent qui te permettent d'accrocher des fonctions sur des élements de manière très simple.
Et surtout le gros changement c'est le fait de passer par les élements (via className) plutôt que par la filiation (childNodes), je rappelle que childNodes peut comprendre les retours de ligne, et que ça peut tout péter, alors qu'en passant par les className tu identifies clairement ton élement quelque soit le layout.
AleiZ


Membre
Messages : 3700

mercredi 06 juin 2007 à 18:31:25     
QUOTE (Shinuza @ mercredi 06 juin 2007 à 17:36:32) :

Y'a rien de malsain, ce sont juste des remarques

tes posts non, c'est du concret constructif. mais les posts: "moi en 2 sec, je te fais un truc 10x fois mieux blablabla", je trouve que si.
Vincent


troubleshooting expert :/
Messages : 7306

mercredi 06 juin 2007 à 18:39:53     
QUOTE (AleiZ @ mercredi 06 juin 2007 à 18:31:25) :

tes posts non, c'est du concret constructif. mais les posts: "moi en 2 sec, je te fais un truc 10x fois mieux blablabla", je trouve que si.

Bref les posts de Cooling et en moindre partie ceux de Rosco Il faut appeler un chat un chat.
Google




     
Pages : « Première ...  57  58  59  60  61  62  63  64  65  66  67 ...  Dernière »