guemtz Posté 17 Mai 2004 Posté 17 Mai 2004 slt à tous (et toutes, on sait jamais...) j'ai un petit souci d'affichage pour un site sous mozilla, je m'explique : j'ai une carte de france avec tout pleins de ch'tits points... déjà à la base, j'affiche des infos ds un alt (infos récupérées d'une table en base, pas trop fait pour ça le ALT mais bon) en passant sur les points... sous I.E, no pb sous moz ( et g pas encore tester d'autres browser), ce qui se passe en fait, c'est ke le pointeur de ma souris se change tout de suite en "lien" (la tite mimine) dès que je passe sur la carte, et en plus il m'affiche pas mes infos so je vous mets un p'tit copier coller du code ('tention, y'a du php d'dans) : echo "\n\t<map name='paris' id='cartefrance'>"; while($lt_row = ifx_fetch_row($li_table)){ $ls_alt = $lt_row[sigle]."\nStation: ".$lt_row[isitm]." - ".$lt_row[lclst]."\nValeur: ".$ls_val; echo "\n\t<area shape='circle' coords='$li_x,$li_y,5' href='#' "; echo "\n\t alt='".$ls_alt."' title='".$ls_alt."'"; echo ">"; } echo "\n\t</map>\n"; si vous comprenez rien, c'est pas grave (enfin si mé bon...)
20cent Posté 17 Mai 2004 Posté 17 Mai 2004 (modifié) L'attribut alt ne sert pas à cela. C'est clairement expliqué ici, tu verras. Internet Explorer, qui ne respecte pas bien la norme, l'interprête mal, de ce fait. Pour répondre à ta demande il faut utiliser l'attribut title. Modifié 17 Mai 2004 par 20cent
Ganf Posté 17 Mai 2004 Posté 17 Mai 2004 et en plus il m'affiche pas mes infos Pourquoi devrait-il ? le alt c'est un contenu "alternartif". Mozilla arrive à afficher les images, il n'a aucune raison d'afficher le texte alternatif (que ce soit en bulle d'aide ou ailleurs) quand c'est le cas. so je vous mets un p'tit copier coller du code ('tention, y'a du php d'dans) : Visiblement il manque beaucoup de htmlentities() ou htmlspecialchars() mais ça n'est pas trop ce qui nous préoccupe. J'allais te dire qu'il fallait mettre ton info en title="" plutot qu'en alt="" mais visiblement tu le fais aussi. Est-ce que tu pourrais nous donner le code HTML résultat plutot que le PHP (qui ne nous sert pas à grand chose ici) ? à priori faire simplement un "voir source" sur ta page dans le navigateur et nous copier ce que ça donne, sinon nous donner l'url de la page de test.
guemtz Posté 17 Mai 2004 Auteur Posté 17 Mai 2004 ok alors ça donne ça : <map name='paris' id='cartefrance'> <area shape='circle' coords='470,106,5' href='#' alt='paris Station: 01 - paris Valeur: ' > et autant de MAP qu'il y a de points sur ma carte
LaurentDenis Posté 17 Mai 2004 Posté 17 Mai 2004 J'ai un doute à la vue de ton code : tu utilises cette image map... pour faire des liens réels vers d'autre pages, ou juste pour afficher une carte et des informations au survol de la souris ?
guemtz Posté 18 Mai 2004 Auteur Posté 18 Mai 2004 juste pour afficher des infos au passage de la souris... sous I.E, j'ai aucun problèmes...
Ganf Posté 18 Mai 2004 Posté 18 Mai 2004 sous I.E, j'ai aucun problèmes... IE est loin d'être une référence. Si tu codes en fonction de lui ce n'est pas étonnant que tu ai des problèmes de compatibilité. <area shape='circle' coords='470,106,5' href='#'alt='parisStation: 01 - parisValeur: ' > Donc on est d'accord : tu remplaces le "alt" par un "title" et logiquement ça devrait aller mieux si ton image principale n'a elle même pas de "title". Après, au lieu de mettre un href="#" qui n'est pas du tout prévu pour ça, met donc un "nohref". Logiquement ça devrait marcher. Si ce n'est pas le cas il faudra sortir un javascript pour créer ta bulle d'aide. Donc : <area shape='circle' coords='470,106,5' nohreftitle='paris Station: 01 - paris Valeur: ' >
guemtz Posté 18 Mai 2004 Auteur Posté 18 Mai 2004 (modifié) RHAAAAAAAAAAAAAAAAAAA ça ka pa maché BOWDEL !!! c'est koi cette histoire de href="#", nohref... ? et kelle sorte de javascript tu conseilles... là j'ai trop la tête dans le c... j'ai besoin d'une Modifié 18 Mai 2004 par guemtz
Ganf Posté 18 Mai 2004 Posté 18 Mai 2004 c'est koi cette histoire de href="#", nohref... ? Simple, area contient un attribut nommé href. Cet attribut est là pour faire un lien entre une ressource (une page) et la zone de l'image concernée. Là tu fais un lien entre la zone et ...... rien (ou plutot une ancre inexistante de ta page). Pour signaler qu'il s'agit d'une zone qui n'est pas un lien il ne faut pas mettre une ancre vide (ce qui n'a absolument pas de sens). Il existe un attribut pour ça, il s'appelle "nohref". Quand on te demande un n° de fax sur un papier administratif tu fais quoi ? - tu laisses vide - tu barres le champ - tu marques "aucun" - tu marques "0000000000" à priori marquer dix 0 parait plutot bizarre, voire idiot. Et bien bizarrement c'est ce que tu fais en mettant ce href="#". (bon, c'est une analogie pourrie mais ça résume bien ce que je veux dire) Pour le javascript je pensais à quelque chose dans le style de http://blog.dreams4net.com/JavascriptNonIntrusif (tu peux sauter le dernier paragraphe, il n'a rien à faire avec notre histoire). Je sais que ça existe pour les liens classiques (et faire apparaitre le titre avec une bulle d'aide un peu plus élaborée que par défaut), c'est peut être adaptable pour les <area> aussi. Globalement tant que tu cherches à détourner des choses qui ne sont pas faites pour ... tu t'exposes à des problèmes : - le href est fait pour faire un lien, pas pour avoir un effet technique de zone réactive - le alt est un texte alternative, pas une information complémentaire - l'affichage par bulle d'aide n'est pas garanti par défaut car pas fait pour, c'est juste une des présentations possibles. Rien ne parle de bulle d'aide (tooltip) en HTML. Tu as d'autres solutions : - afficher directement les textes dans l'image, sans survol - utiliser des choses plus élaborées avec plein de javascript pour les événements - afficher des drapeaux ou points avec une légende en dessous - faire du flash pour la carte ...
guemtz Posté 18 Mai 2004 Auteur Posté 18 Mai 2004 ok ok, merci pour toutes ces infos.... pour ma part, j'ai trouvé la solution à mon bug. en fait le "map name" n'avait pas le mm nom que mon "usemap" du coup le curseur se changeait direct en lien sur l'iamge de ma carte et pas les points qu'il y avait dessus. ajouté à ça les autres modif que vous m'avez conseillé...ça marche nickel. je suis d'accord pour dire que c'est pas la meilleure approche pour faire afficher des infos mais en attendant ça me dépanne bien... merci à tous
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant