Pb avec un script (menu deroulant vertical) sur IE [Résolu]

Signaler
Messages postés
6
Date d'inscription
jeudi 1 juin 2006
Statut
Membre
Dernière intervention
1 mars 2007
-
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
-
Bonjour,

J'ai un soucis avec un script qui fonctionne sur Firefox, et quelques version d'IE, mais pas les dernières (7. ...)

Voici le script :
/*=======Ver: 6.5.60419========*/
/*DHTMLMenu, (c) 2006, SourceTec Software Co.,LTD  -  www.sothink.com*/

if(typeof st_js=="undefined")
{
    STM_FILTER=1;
    STM_SCROLL=1;
    STM_SLIP=1;
    STM_RTL=0;
    STM_AHCM=0;
    STM_SMSC=1;
    STM_BIMG=1;
    STM_ILOC=0;
    STM_ILINK=0;
    stHAL=["left","center","right"];
    stVAL=["top","middle","bottom"];
    stREP=["no-repeat","repeat-x","repeat-y","repeat"];
    stBDS=["none","solid","double","dotted","dashed","groove","ridge","inset","outset"];
    stENTS=["onmouseover","onmouseout","onclick","onmousedown","onmouseup","onfocus","onblur","onkeydown","onkeyup"];
    st_ld=[];   
    st_lded=0;
    st_ck=[];
    st_ms=[];
    st_imgs=[];
    st_funs=0;
    st_path=stgfd(location.href);
    st_nav=stnav();
    st_cm=st_cp=st_ci= st_tid=0;

    if(!Array.prototype.push)
        Array.prototype.push=function(){for(var i=0;i[# =sn;q--){                clearTimeout(pp[q].tid);if(!pp[q].isSh){var los=pp[q].lock;pp[q].lock=0;stshP(pp[q]);pp[q].lock=los;}ip[pp[q].id]=1;}}}}if(f)for(var j=0;j<m.lnks.length;j++){is=m.lnks[j].dat;for(var l=0;l0?rc[0]+p.scxs:rc[0]-p.scxs,y=dy>0?rc[1]+p.scys:rc[1]-p.scys;stmvto([x,y],p)}}}
function stgsp(sp,d){var i=0,s=5;if(d<s) return d;return Math.floor(Math.sqrt(2*d*s));}
function sthi(){for(var j=0;j<st_ms.length;j++)if(st_ms[j].lits&0x08000000)staddE(6,"stshlp",st_ms[j]);}
function stgfd(s){var ts=s.toLowerCase();if(!ts.indexOf("//")||!ts.indexOf("file://")||!ts.indexOf("http://")||!ts.indexOf("https://"))return s.substr(0,s.lastIndexOf("/")+1);else return "";}
function stabsL(s){if(!s) return s;var re,t;if(s.charAt(0)=="/"){re=/(file:\/{2,}[^\/]+\/|http:\/\/[^\/]+\/|https:\/\/[^\/]+\/)/;if(re.exec(st_path)) s=RegExp.$1+s.substr(1);}else if(!stabs(s))s=st_path.substr(0,st_path.lastIndexOf("/")+1)+s;else return s;while(s.indexOf("/./")>0)s=s.replace("/./","/");while((t=s.indexOf("/../"))>0){var p1,p2;p1=s.substr(0,t);p2=s.substr(t).replace("/../","");p1=p1.substr(0,p1.lastIndexOf("/")+1);s=p1+p2;}return s;}
function stStyle(){var s="<style>",t;for (t in stCSS )    s+=".stc"+t+"{"+stCSS[t]+"}\n";return s+="</style>";}
function stgCss(t,f,c){var s="";if(!f){if(stCSS[t]) s=" class='stc"+t+"'";if(c) s+=" style=""+c+""";}else{if(!c&&stCSS[t])s=" style='"+stCSS[t]+"'";else if(stCSS[t]){s=" style="";var a=ststo(c),b=ststo(stCSS[t]);for(var i in b)    if(typeof a[i]=="undefined") a[i]=b[i];s+=stots(a);s+=""";}}return s;}
function ststo(s){var o={},a,re=/\s*([\w\-_]+)\s*:\s*([:\w#%\- ."\',\(\)\-\/\\=\|]+)\s*(;|$)/,ra;a=s.split(";");    for(var i=0;i]=5)&&i<24&&i>=0?"revealTrans(Transition="+i+",Duration="+((110-s)/100)+")":"":f;}

dans ma page :

<!--
stm_bm(["menu1e59",650,"","blank.gif",0,"","",1,0,250,0,1000,1,0,0,"","900",0,0,1,1,"default","hand",""],this);
stm_bp("p0",[0,4,0,0,0,0,0,0,100,"progid:DXImageTransform.Microsoft.Pixelate(MaxSquare=15,enabled=0,Duration=0.19)",-2,"",-2,91,0,0,"#999999","transparent","",0,1,1,"#FFFFFF"]);
stm_ai("p0i0",[1,"Infos","","",-1,-1,0,"/infos.php","_self","","Informations","","",0,0,0,"","",0,0,0,1,1,"",1,"",1,"","",3,3,0,0,"#ffffff","#ffffff","#1070BF","#1070BF","bold 11px Verdana","bold 11px Verdana",0,0],170,35);
stm_bp("p1",[1,4,0,0,0,0,0,0,100,"stEffect("slip")",-2,"",-2,91,0,0,"#999999","transparent","",3,1,1,"#FFFFFF #EFEFEF #EFEFEF #EFEFEF"]);
stm_ai("p1i0",[1,"Abonnement","","",-1,-1,0,"/infos.php","_self","","Les abonnements Aqualoft","","",0,0,0,"","",0,0,0,1,1,"#FFFFFF",0,"#FFFFFF",0,"","",3,3,0,0,"#ffffff","#ffffff","#1070BF","#1070BF","11px Verdana","11px Verdana",0,1],170,20);
stm_aix("p1i1","p1i0",[1,"L\'équipe","","",-1,-1,0,"/infos.php","_self","","L\'équipe"],170,20);
stm_aix("p1i2","p1i0",[1,"Comment venir ?","","",-1,-1,0,"/infos.php","_self","","Comment venir ?"],170,20);
stm_aix("p1i3","p1i0",[1,"Contact","","",-1,-1,0,"/infos.php","_self","","Nous Contacter"],170,20);
stm_aix("p1i4","p1i0",[1,"Actualité","","",-1,-1,0,"/infos.php","_self","","L\'actualité"],170,20);
stm_aix("p1i5","p1i0",[0,"Partenaires","","",-1,-1,0,"/infos.php","_self","",""],170,0);
stm_aix("p1i6","p1i0",[1,"Liens","","",-1,-1,0,"/infos.php","_self","","Aqualoft : Nos liens"],170,20);
stm_aix("p1i7","p1i0",[1,"Les plus de Vivaform","","",-1,-1,0,"/infos.php","_self","","Les plus de Vivaform"],170,20);
stm_ep();
stm_aix("p0i1","p0i0",[1,"Activités Aqua","","",-1,-1,0,"/cours-collectifs.php","_self","","Activités Aqua"],170,35);
stm_bpx("p2","p1",[]);
stm_aix("p2i0","p1i0",[1,"Aquastretch","","",-1,-1,0,"/cours-collectifs.php","_self","","Aquastretch"],170,20);
stm_aix("p2i1","p1i6",[1,"Aquapower Bike","","",-1,-1,0,"/cours-collectifs.php"],170,20);
stm_aix("p2i0","p1i0",[1,"aquatonic","","",-1,-1,0,"/planning/Planning_fitness_06.pdf","_blank","","Fitness"],170,20);
stm_aix("p2i1","p1i6",[1,"Aquagym","","",-1,-1,0,"/planning/Planning_aquatiques_06.pdf","_blank"],170,20);
stm_aix("p2i1","p1i6",[1,"Natation","","",-1,-1,0,"/natation.php",""],170,20);

stm_aix("p2i1","p1i6",[1,"Bébé Nageurs","","",-1,-1,0,"bebe_nageur.php",""],170,20);
stm_ep();
stm_aix("p0i2","p0i0",[1,"Fitness - Musculation - Cardio","","",-1,-1,0,"/musculation-cardio.php","_self","","Fitness - Musculation - Cardio"],220,35);
stm_bpx("p3","p1",[]);
stm_aix("p3i0","p1i0",[1,"Espace Musculation","","",-1,-1,0,"/musculation-cardio.php","_self","","Musculation"],220,20);
stm_aix("p3i1","p1i0",[1,"Espace Cardio-Training","","",-1,-1,0,"/musculation-cardio.php","_self","","Cardio-Training"],220,20);
stm_aix("p3i2","p1i0",[1,"Le suivi invidualisé","","",-1,-1,0,"/musculation-cardio.php","_self","","Le suivi invidualisé"],220,20);
stm_ep();
stm_aix("p0i3","p0i0",[1,"Squash","","",-1,-1,0,"squash.php","_self","","Squash"],170,35);
stm_bpx("p4","p1",[]);
stm_aix("p4i0","p1i0",[1,"Cours","","",-1,-1,0,"cours.php","_self","","Cours"],170,20);
stm_aix("p4i1","p1i0",[1,"Libre","","",-1,-1,0,"squash_libre.php","_self","","Libre"],170,20);
stm_ep();
stm_aix("p0i4","p0i0",[1,"Détente","","",-1,-1,0,"/aqualoft.php","_self","","Détente"],170,35);
stm_bpx("p5","p1",[]);
stm_aix("p5i0","p1i0",[1,"UV","","",-1,-1,0,"carte.php","_self","","UV"],170,20);
stm_aix("p5i1","p1i0",[1,"Sauna","","",-1,-1,0,"parainage.php","_self","","Sauna"],170,20);
stm_aix("p5i2","p1i0",[1,"Coin Repos","","",-1,-1,0,"coin_repos.php","_self","","Coin repos"],170,20);
stm_aix("p5i3","p1i0",[1,"Bar","","",-1,-1,0,"bar.php","_self","","Bar"],170,20);
stm_ep();
stm_ep();
stm_em();
//-->
</script>

MERCI par avance ;-)

12 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
Un dernier point à tester quand même supprime la ligne avec <!DOCTYPE... pour voir si problème de compatibilité...






;0)
Messages postés
2
Date d'inscription
lundi 26 février 2007
Statut
Membre
Dernière intervention
26 février 2007

C'est pas très clair... 
Messages postés
6
Date d'inscription
jeudi 1 juin 2006
Statut
Membre
Dernière intervention
1 mars 2007

la première partie c'est le fichier .js


la seconde partie c'est le code de mon menu deroulant.


Il fonctionne parfaitement avec firefox, mais avec IE 7.0 le menu n'apparait pas, je l'ai vu correctement avec une version antérieure d'IE (mais je ne connait pas ma version). Mon code peut-il être amélioré pour fonctionner sur toute les version d'IE (notamment les plus recentes).


Que puis-je dire de plus ?


Si merci pour votre aide
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
B
onjour...



ARFF
F...



deux petites choses à noter



function stgJs(s,f){return "<script type='text/javascript' language='javascript1.2' src='"+s+"'"+(f?" DEFER":"")+"></script>"}





devrait plutôt être écrite comme ci dessous



function stgJs(s,f){return "<s"+"cript type='text/javascript' src='"+s+"'"+(f?" DEFER":"")+"></s"+"cript>"}




stm_aix("p2i1","p1i6",[1,"Natation","","",-1,-1,0,"/natation.php",""],170,20);


que fait le
à la fin


pour le reste difficile à dire comme cela...
- y a t-il des erreurs de signalées...
- peut t-on avoir une page de test...


- voir à récupérer la dernière version du menu, si possible bien sur..








;0)
Messages postés
6
Date d'inscription
jeudi 1 juin 2006
Statut
Membre
Dernière intervention
1 mars 2007

déjà ça va mieux ! au moins dorenevant on voit le début du menu (mais pas ce qui se déroule) ...
Voici la page en question : http://www.vivaform-troyes.com/musculation-cardio.php

Firefox : ok
IE : 7.0.5230.11 plus ou moins ok
les autres navigateurs (safari , opera, lotus note, konqueror... je ne sais pas) à l'occasion pouvez vous me dire !

Merci Petole Team pour ce début de solution

PS : pour IE 6 : il me dit l'attribut type de la balise script n'est pas pris en charge : <script type="text/javascript" language="JavaScript1.2" src="http://www.vivaform-troyes.com/menu/stmenu.js"> </script>
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
B
onjour...
toujours des
qui se promène, un problème avec l'éditeur peut être...

Ligne 7 : <meta name="Keywords" content="salle de remise en forme, salle de musculation, cardio-training, espace aquatique, fitness, piscine, d&eacute;tente, sauna, solarium, aquagym, aquafitness, nageurs, cours de fitness, step, programmes personnalis&eacute;s." />

Ligne 46 : stm_aix("p3i1","p1i0",[1,"Espace Cardio-Training","","",-1,-1,0,"/musculation-cardio.php","_self","","Cardio-Training"],220,20);

Ligne 64 : //-->

pour ce qui est de
<script type="text/javascript" language="JavaScript1.2" src="http://www.vivaform-troyes.com/menu/stmenu.js"></script>
il suffit de mettre...
<script type="text/javascript" src="http://www.vivaform-troyes.com/menu/stmenu.js"></script>

Je ne pourrais pas tester sous IE 7 n'ayant que 6.0.2900.2180

nota :
FireFox signale quand même
.vert {
 font-family: Arial, Helvetica, sans-serif;
 font-size: 12px;
 font-weight: bold;
 color: ##34848F;
}

;0)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
J'ai oublié l'entête est surprenante






<strike><?xml version="1.0" encoding="iso-8859-1"?></strike>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
;0)
Messages postés
6
Date d'inscription
jeudi 1 juin 2006
Statut
Membre
Dernière intervention
1 mars 2007

merci pour tout sur IE 7 marche po ...arg ... c'est tout de même sympa de t'y être collé ...je sature avec ce script à la gomme ... merci aussi pour le css ... ;-)

bonne soirée
Messages postés
6
Date d'inscription
jeudi 1 juin 2006
Statut
Membre
Dernière intervention
1 mars 2007

T'es un champion
(ou une championne, on ne sait jamais ;-) )


Le problème venait en effet de <!DOCTYPE ...> je n'aurait jamais pensé
Gros respect, tu vas me faire passer une journée plus belle ... c'est très sympa de t'être penché sur ce soucis, avec autant de professionnalisme et de rapidité !

UN GRAND MERCI !!
Messages postés
6
Date d'inscription
jeudi 1 juin 2006
Statut
Membre
Dernière intervention
1 mars 2007

T'es un champion
(ou une championne, on ne sait jamais ;-) )


Le problème venait en effet de <!DOCTYPE ...> je n'aurais jamais pensé
Gros respect, tu vas me faire passer une journée plus belle ... c'est très sympa de t'être penché sur ce soucis, avec autant de professionnalisme et de rapidité !

UN GRAND MERCI !!
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
B
onjour...
Je n'ai rien d'un champion, je viens de répondre à la question, je dirais même que je suis un ane de ne pas l'avoir vu tout de suite ceci étant le problème majeur avec les DOCTYPE, je m'explique

Objet.style.left = 150;

marche bien sans DOCTYPE mais plante avec certains. Je suppose que IE7 est plus strict et tant mieux.
il faut pour parer à cela mettre
Objet.style.left = 150 +"px";
px précisant l'unité...
il en est de même dans les CSS

Si j'ai un peu de temps ce soir je jette un coup d'oeil un peu plus attentionné au code pour voir si il n'y a pas un manque de ce type...
Bonne continuation de Belle Journée
;0)
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
B
onsoir...Navré je laisse tomber c'est trop le me..ier comme code, je pense que c'est fait exprès...Mais bon le principal c'est que cela marche !
;0)