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

Signaler
Messages postés
6
Date d'inscription
lundi 6 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2008
-
Messages postés
6
Date d'inscription
lundi 6 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2008
-
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

Messages postés
626
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
Trouve une version lisible du code et on pourra certainement t'aider.

<hr size="2" width="100%" />Projet en cours : Joof
Messages postés
6
Date d'inscription
lundi 6 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2008

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.
Messages postés
626
Date d'inscription
samedi 28 septembre 2002
Statut
Membre
Dernière intervention
18 mai 2009
3
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
Messages postés
6
Date d'inscription
lundi 6 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2008

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.
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
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)
Messages postés
6
Date d'inscription
lundi 6 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2008

Ouahou
Merci d'avoir quand même répondu !
Ca ça va bien m'aider !

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

<hr size="2" width="100%" />Projet en cours : Joof
Messages postés
6
Date d'inscription
lundi 6 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2008

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
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
14
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)
Messages postés
6
Date d'inscription
lundi 6 octobre 2008
Statut
Membre
Dernière intervention
27 octobre 2008

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