Un ptit coup de main pour interpreter un fichier .js ?

VieilleLoute Messages postés 6 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 27 octobre 2008 - 6 oct. 2008 à 12:01
VieilleLoute Messages postés 6 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 27 octobre 2008 - 27 oct. 2008 à 09:52
Bonjour,

Je construits (ou du moins j'essaie !) un site avec le CMS Joomla, et j'ai ajouté sur ce site le module Yoodrawer, visibleici

Comme vous pouvez le voir sur la démo, quand on ouvre un item en
passant dessus avec la souris, l'item reste ouvert une fois qu'on
dirige la souris ailleurs.

J'aimerais énormément pouvoir trouver la modif à faire pour que
l'item que l'on a ouvert en passant dessus se referme automatiquement
une fois que le pointeur de la souris s'en va, et que le module revienne donc avec le
premier item visible.

J'ai cherché dans les fichiers php du module mais sans succès,
(pas super fortiche en php j'avoue que j'ai pu passer à côté), et j'ai
trouvé un fichier .js au sein de ce module, mais là je ne sais pas du
tout l'interpréter. Voici la seule ligne de code qu'il contient. Est-ce
que cela a un rapport avec mon problème ? Si oui, que faudrait-il
changer selon vous pour faire la modif ?

eval(function(p,a,c,k,e,d){e=function(c){return(c35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('8 p=g G({K:6(9,3,1){0.L({e:\'h\',7:\'v\',d:M,a:q.D.E.H},1);0.9=$(9);0.3=$$(3);0.w=g q.C(0.3,{z:A,B:F,a:0.1.a});5(0.1.e!=\'h\')0.1.7=\'m\';8 2={};0.3.u(6(4,i){2[i]=4.n(0.1.7).l();4.P(\'I\',0.r.R(0,[2,4,i]))},0)},r:6(2,4,i){8 o={};4.N(\'y\');0.3.u(6(b,j){8 s=b.n(0.1.7).l();5(j>=i){5(s!=2[j])o[j]=0.c(s,2[j])}x{5(s!=2[j]-0.1.d)o[j]=0.c(s,2[j]-0.1.d)}5(j!=i){b.J(\'y\')}},0);0.w.O(o)},c:6(f,k){5(0.1.e==\'h\'){t{v:[f,k]}}x{t{m:[f,k]}}}});p.S(g Q);',55,55,'this|options|pos|items|item|if|function|itemstyle|var|wrapper|transition|other|itemStyle|shiftSize|layout|startVal|new|vertical|||endVal|toInt|left|getStyle||YOOdrawer|Fx|itemFx||return|each|top|fx|else|active|wait|false|duration|Elements|Transitions|Expo|600|Class|easeOut|mouseenter|removeClass|initialize|setOptions|50|addClass|start|addEvent|Options|bind|implement'.split('|'),0,{}))

Je fais ce site pour l'association au sein de laquelle je travaille, je ne suis donc pas développeuse de formation, et là je sèche un peu...si quelqu'un à une idée ce serait vraiment génial 

10 réponses

XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
6 oct. 2008 à 14:49
Trouve une version lisible du code et on pourra certainement t'aider.

<hr size="2" width="100%" />Projet en cours : Joof
0
VieilleLoute Messages postés 6 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 27 octobre 2008
6 oct. 2008 à 15:11
Bonjour [../auteur/XTREMDUKE/15638.aspx XtremDuke]

Je me disais bien que ce code avait une tête bizarre...
Ecoute, c'est la seule qu'il y a d'indiqué dans ce fichier...le tout sur une seule ligne.
avec certains caractères en gras ou en rouge, mais c'est tout. Sauf grosse erreur de ma part, je n'ai pas trouvé ici de balise permettant d'insérer du code tel quel sur les message, et c'est pour cela qu'il apparaît dans une police et couleur unique.
Je ne peux pas non plus joindre le fichier, bref, je suis un peu limitée

Qu'appelles-tu "une version lisible du code" ? Si c'est de reproduire les gras et couleurs je le ferai manuellement dans ce cas.
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
6 oct. 2008 à 18:02
Non il ne s'agit pas de coloriser les syntaxes :)

Le code source a été passé au PACKER (http://dean.edwards.name/packer/) qui est un outil qui permet de compresser son code. Pour ce faire, il supprime tout caractère inutile (espaces, retours à la ligne, etc...), les commentaires et renomme également le nom des variables (exemple : "maVariable" devient "A"). Et pour couronner le tout, il convertit le résultat en base64.
Bref, a moins de passer des heures à tout remettre en forme, ce genre de script n'est pas réutilisable.

Si ce script te plais vraiment, demande à son auteur de te fournir une version clair de ce dernier.

<hr size="2" width="100%" />Projet en cours : Joof
0
VieilleLoute Messages postés 6 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 27 octobre 2008
7 oct. 2008 à 09:46
Bon ok effectivement je n'y connais vraiment rien en js !
J'ai déjà essayé de contacter les auteurs mais ils sont injoignables.
Je vais essayer de trouver comment rendre ce script lisible

Merci beaucoup pour ces informations précieuses.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
7 oct. 2008 à 17:29
Bonjour,
je ne devrais pas mais bon je le fais
quand même...
 
1/ dans un document et entre les balises <script
type= "text/javascript"> et </script> inserer le code à unpacker eval(function(p,a,c,k,e,d){e=function(c)...

2/ mettre juste avant le code eval(function(p,a,c,k,e,d){e =function(c)...
eval = document.write
on détourne la fonction eval en document.write en fait...
cela donne un fichier qui
ressemble à cela
<html>

<head>
<script type ="text/javascript">
eval
= document.write;
eval(function(p,a,c,k,e,d){e=function(c){...

</script>
</head>



</html>

3/ ouvrir le document, le code apparaît
à la suite, pas trés lisible il est vrai, il existe des outils plus ou moins propre...

4/ il ne vous reste
plus qu'à mettre en forme le script obtenu
var YOOdrawer = new Class({
  initialize:
function(wrapper, items, options) {
    this.setOptions({
      layout:
'vertical',
      itemstyle: 'top',
      shiftSize: 50,

      transition: Fx.Transitions.Expo.easeOut
    },
    options);

    this.wrapper = $(wrapper);
    this.items = $$(items);

    this.fx = new Fx.Elements(this.items, {
      wait: false,

      duration: 600,
      transition: this.options.transition

    });
    if (this.options.layout != 'vertical')
this.options.itemstyle = 'left';
    var pos = {};

    this.items.each(function(item, i) {
      pos[i] =
item.getStyle(this.options.itemstyle).toInt();

      item.addEvent('mouseenter', this.itemFx.bind(this, [pos, item, i]))

    },
    this)
  },
  itemFx: function(pos, item, i) {

    var o = {};
    item.addClass('active');

    this.items.each(function(other, j) {
      var s =
other.getStyle(this.options.itemstyle).toInt();
      if (j >= i) {
        if (s !pos[j]) o[j] this.itemStyle(s, pos[j])
      } else {
        if (s !pos[j] - this.options.shiftSize) o[j] this.itemStyle(s,
pos[j] - this.options.shiftSize)
      }
      if (j != i) {

        other.removeClass('active')
      }
    },
    this);

    this.fx.start(o)
  },
  itemStyle: function(startVal, endVal) {

    if (this.options.layout == 'vertical') {
      return {

        top: [startVal, endVal]
      }
    } else {

      return {
        left: [startVal, endVal]
      }
    }

  }
});
YOOdrawer.implement(new Options);

Et
maintenant à vos manettes...
;O)
0
VieilleLoute Messages postés 6 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 27 octobre 2008
8 oct. 2008 à 09:11
Ouahou
Merci d'avoir quand même répondu !
Ca ça va bien m'aider !

Merci merci merci
0
XtremDuke Messages postés 626 Date d'inscription samedi 28 septembre 2002 Statut Membre Dernière intervention 18 mai 2009 4
8 oct. 2008 à 10:11
Joli [../auteur/PETOLETEAM/653783.aspx PetoleTeam], je n'aurai pas pensé à ça.

<hr size="2" width="100%" />Projet en cours : Joof
0
VieilleLoute Messages postés 6 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 27 octobre 2008
20 oct. 2008 à 14:34
Bon...heu..je reviens parce que je n'arrive pas à comprendre assez bien ce script pour pouvoir le modifier. Je n'arrive même pas à voir si c'est bien là-dedans que le fonction d'ouverture et de retombée des items se trouve...

Est-ce que quelqu'un de fort pourrait m'éclairer ?

Merci beaucoup d'avance, parce que là je coince un peu
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 17
24 oct. 2008 à 17:06
Bonjour,
c'est à priori là que cela doit se passer

transition:
Fx.Transitions.Expo.easeOut
mais en tout état de cause pas dans ce
module.

La solution est ailleurs.
;O)
0
VieilleLoute Messages postés 6 Date d'inscription lundi 6 octobre 2008 Statut Membre Dernière intervention 27 octobre 2008
27 oct. 2008 à 09:52
ah...
et bien merci Petoleteam pour ta réponse.
C'est bien ce que j'avais pensé, mais du coup je reste perdue.
Tant pis, vais continuer à chercher !
Merci encore
0
Rejoignez-nous