2010-08-23 4 views
0

espérant que quelqu'un peut aider ainsi que d'expliquer les éléments suivants:Superfish Hover Problème avec les journaux IE6 et Apache

J'utilise le menu jQuery Superfish sur IE6 et de ce que je peux voir à partir des fichiers journaux apache pour ma session, est que chaque fois que je survole un élément de menu dans mon menu Superfish qui a des sous-menus, représenté avec un élément de menu qui a une image de flèche blanche à droite de l'étiquette de menu, un tas entier (disons 25 lignes) avec le message de type suivant:

- - [23/Aug/2010:11:57:45 +1000] "GET /abcprod/images/arrows-ffffff.png HTTP/1.1" 304 - etc….. 

Pas sûr aussi ce que le nombre indiquent s où dans le journal apache? Ces types d'entrées continuent d'apparaître chaque fois que je survole juste un élément de menu avec des sous-menus et cela inclut également des éléments de sous-menu qui ont également des éléments de menu enfant. La chose étrange est cependant, lors de l'exécution de l'application via Google Chrome et en vérifiant cette session dans les journaux Apache, il crache tout ce qui concerne l'image flèches-ffffff.png.

Quelqu'un peut-il aider à expliquer pourquoi et que se passe-t-il ici avec ie6 et le menu Superfish?

Pour votre information, j'ai également inclus CSS que les utilisateurs Superfish relatives à la classe f-sous-indicateur, à savoir

.sf-sub-indicator { 
position:  absolute; 
display:  block; 
right:   .75em; 
top:   1.05em; /* IE6 only */ 
width:   10px; 
height:   10px; 
text-indent: -999em; 
overflow:  hidden; 
    background:  url("/abcprod/images/arrows-ffffff.png") no-repeat -10px -100px; 
} 
==> 
a > .sf-sub-indicator { /* give all except IE6 the correct values */ 
    top:   .8em; 
    background-position: 0 -100px; /* use translucent arrow for modern browsers*/ 
} 

/* apply hovers to modern browsers */ 
a:focus > .sf-sub-indicator, 
a:hover > .sf-sub-indicator, 
a:active > .sf-sub-indicator, 
li:hover > a > .sf-sub-indicator, 
li.sfHover > a > .sf-sub-indicator { 
    background-position: -10px -100px; /* arrow hovers for modern browsers*/ 
} 

Merci

Répondre

0

Pas sûr sur les spécificités de SuperFish dans le contexte de IE6 (ISN 't it dead aleady? (-;) et jQuery, mais un "304" est un code HTTP comme 404, 403, etc. Un 304 signifie que le fichier n'a pas été modifié depuis la dernière fois qu'il a été demandé. pour la mise en cache, la réduction des demandes aux serveurs, etc.

Plus sur les codes d'état elle e:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html

Il est possible IE6 fait une demande "GET" pour cette image lorsque le menu est activé ...? Il demande le même fichier 25 fois ...? Activer le premier sous-menu avec les flèches, et compter le nombre de flèches. Ensuite, vérifiez les journaux. Si le nombre d'entrées de journal est égal au nombre de flèches, vous savez ce que fait IE6.

Désolé ne pouvait être plus utile, mais HTH,

KM

+0

Merci pour la réponse. – tonyf

1

Depuis IE6 ne supporte pas : hover pseudo-sélecteurs, je devine que superfish utilise une sorte de navigateur renifler pour appliquer des comportements spécifiques à IE (quelque chose comme this). Le problème avec cela est que les règles du survol CSS sont transformées en expressions javascript, je suppose que IE est assez stupide pour demander un nouveau img chaque fois que le comportement javascript transforme l'élément.

Une solution possible serait de s'assurer que le javascript ne fait que basculer une classe (disons qu'il ajoute une classe .hover) et ensuite laisser CSS appliquer l'arrière-plan sur le sélecteur de classe. Un exemple: a:hover devient a.hover.