![]() |
Forum SELFHTML: Archives: |
Le message suivant est de: Michel,
m.deboom@9online.fr, 22. 04. 2004, 02:02
http://moncastel.9online.fr/
J'ai mis au point une liste énumérative dynamique à cette adresse :
http://moncastel.9online.fr/cascade_menu/
Les images d'arrière-plan sontincorporées comme ceci :
#csd .poste{
background : url(poste.gif) no-repeat;
padding:0 0 0 19px;
}
Le problème est qu'en ligne (bas débit), elles ne parraissent pas préchargées avec Netscape ou Mozilla, et avec IE c'est pire.
Ou est l'erreur ?
Le message suivant est de: Bartouille,
bertrand.wattel@free.fr, 22. 04. 2004, 09:17
http://mythes.foret.free.fr
»» J'ai mis au point une liste énumérative dynamique à cette adresse :
»» http://moncastel.9online.fr/cascade_menu/
»» Les images d'arrière-plan sontincorporées comme ceci :
»» #csd .poste{
»» background : url(poste.gif) no-repeat;
»» padding:0 0 0 19px;
»» }
»» Le problème est qu'en ligne (bas débit), elles ne parraissent pas préchargées avec Netscape ou Mozilla, et avec IE c'est pire.
»» Ou est l'erreur ?
Bonjour,
J'aurais peut-être une piste de solution. Ton problème vient du fait que n'utilisant pas javascript pour gérer ton menu, il n'est pas possible de précharger les images dans des objets javascript de la page.
Je ne connais pas, et ne suis même pas sur que cela existe, d'instructions CSS pour précharger des images. En revanche, peut-être que tu peux t'en sortir en notant les menus en visibility:hidden plutôt que display:none. Avec display, je suis quasi-certain que l'évènement LOAD n'est déclenché que lors de l'affichage de la balise. Avec l'autre, c'est peut-être jouable.
Tes menus étant flottants sur la page, il n'y aura pas de problème de mise en page avec visibility.
Dis-nous si cela fonctionne !
Bartouille
Le message suivant est de: Michel,
m.deboom_aspam@9online.fr, 23. 04. 2004, 00:36
Merci Bartouille mais...
visibility:hidden plutôt que display:none.
J'ai tout essayé et remis en ligne (5 tests), même en revenant avec des images sous forme de caractère, le problème persiste. J'ai dû faire une erreur quelque part ...
http://moncastel.9online.fr/cascade_menu/
Le message suivant est de: Michel,
m.deboom_aspam@9online.fr, 23. 04. 2004, 01:13
J'ai dû faire une erreur quelque part ...
Après de nouveaux essais, ça a l'air de mieux fonctionner avec visibility.
Avec IE surtout, j'avait l'impression, en surveillant la barre d'état que les images étaient rechargées chaque fois qu'il y avait passage de display:none à display:block.
Maintenant, je ne suis plus sûr car ça fonctionne partout.
Le message suivant est de: Bartouille,
bertrand.wattel@free.fr, 23. 04. 2004, 11:29
http://mythes.foret.free.fr
»» Après de nouveaux essais, ça a l'air de mieux fonctionner avec visibility.
»» Avec IE surtout, j'avait l'impression, en surveillant la barre d'état que les images étaient rechargées chaque fois qu'il y avait passage de display:none à display:block.
Je le pense aussi
»» Maintenant, je ne suis plus sûr car ça fonctionne partout.
la propriété visibility est compatible avec IE4+ et NS4+ (voir article selfHTML http://selfhtml.selfhtml.com.fr/css/proprietes/positionnement.htm#visibility)
Elle est même mieux interprétée par les navigateurs les plus anciens que la propriété display. Donc en fait tu dois y gagner en compatibilité (sauf que les instructions CSS2 ne sont pas bien interprétée du tout par les vieux navigateurs :-(
Après quelques test sur ta page (j'ai un bon vieux 56k:-(( je me rends compte que (avec IE6) :
1. La version avec visibility ne bogue pas sur l'affichage des sous-menus, alors que la version avec display affiche une sous-menu blanc quand on revient sur Penn-ar-Bed
2. Les icones sont quand même chargée à chaque fois (y compris avec version préchargée JS où je ne sois pas dans ton script où elles sont préchargées). En revanche, le fond n'est pas sytématiquement rechargé (!!), il le fait pour le premier (qui a les sous-menus), mais pour les autres, il semblent ne pas le faire à chaque fois.
Quelques pistes :
Au lieu de mettre les icones en background, peut-être que de les mettre dans une balise <IMG> dans le paragraphe permettra au navigateur d'utiliser le cache (ça je pense que cela marchera).
Pareillement, peut-etre que de déclarer le background dans l'attribut STYLE des UL permettra d'utiliser le cache (mais j'en doute, auquel cas, il sera sûrement plus simple de revenir à une couleur de fond). Cela dit, si l'image est très petite, ça peut ne pas poser de problème.
Le message suivant est de: Bartouille,
bertrand.wattel@free.fr, 23. 04. 2004, 11:34
http://mythes.foret.free.fr
»» Au lieu de mettre les icones en background, peut-être que de les mettre dans une balise <IMG> dans le paragraphe permettra au navigateur d'utiliser le cache (ça je pense que cela marchera).
Effectivement, cela fonctionne bien mieux, quoi que de manière aléatoire comme l'indique ton dernier test. Les images affichées via le CSS sont rechargées à chaque fois, tandis que les images dans les balises <IMG> arrivent tout de suite, car en cache.
Le message suivant est de: Michel,
m.deboom_aspam@9online.fr, 24. 04. 2004, 00:20
»» »» Les images affichées via le CSS sont rechargées à chaque fois, tandis que les images dans les balises <IMG> arrivent tout de suite, car en cache.
Chez moi ça ne marche pas mieux avec les images dans les balises <IMG>.
Le mystère n'a pas été élucidé ??
J'ai découvert ce type de menu à cette adresse :
http://www.aplus.co.yu/Sparks/ADxMenu/examples/winxp.asp
Leur code a l'air finalisé puisqu'ils ont mit un copyright dans leur Jscript.
Pourtant le problème éxiste aussi chez eux.
A croire que le menu liste énumérative dynamique accessible n'est correct chez IE que sans images.
J'ai fait qqs essais pour me familiariser, car ce qui me plait ici, c'est la sémantique html/css/js :
http://moncastel.9online.fr/menu_deroulant/
Ces pages fonctionnent. Même le menu image qui n'en contient que 2.
Encore merci, Bartouille de t'être penché sur ce problème.
Michel
Le message suivant est de: Bartouille,
bertrand.wattel@free.fr, 24. 04. 2004, 01:08
http://mythes.foret.free.fr
»» »» »» Les images affichées via le CSS sont rechargées à chaque fois, tandis que les images dans les balises <IMG> arrivent tout de suite, car en cache.
»» Chez moi ça ne marche pas mieux avec les images dans les balises <IMG>.
En ce qui me concerne, j'ai senti une nette différence : un décalage de 1 à 3 secondes entre les 2 types d'appel. Le problème avec cette formule, c'est qu'on est forcément tributaire de la configuration du cache de l'utilisateur. Et pour l'instant, il y a quand même moins de navigateurs compatibles CSS2 que de navigateurs acceptant de jolis menus déroulants en JS. Mais l'avenir te donnera sûrement raison d'explorer cette voie puisque les capacités des feuilles de style semblent implémentées de manière plus uniforme que celle de javascript (ah, pouvoir se débarrasser des identification de navigateur, quelle joie se serait, mais :o si ça arrive)
Sinon, toutes mes félicitations pour ton syncrétisme du menu déroulant, la version XP a une sacré allure !
Bartouille
Le message suivant est de: Michel,
m.deboom_aspam@9online.fr, 24. 04. 2004, 01:56
»» »» »» »» syncrétisme du menu déroulant...
" Le <b>syncrétisme</b> est une « réunion factice d'idées ou de thèses d'origine disparate » (Lalande), qui cherche à constituer un système cohérent par un choix d'éléments divers empruntés à des doctrines variées et considérés comme préexistant dans l'esprit humain. "
Cela résume assez bien ma démarche.
»» Bartouille
Michel
© 1998-2004
selfhtml@fr.selfhtml.org