Bonjour,

J'ai un problème avec les ancres sous Konqueror et Safari.
Firefox, IE et Mozilla ne posent pas de soucis.

Sur la page 1.php, je cree le lien suivant :

<a href="http://www.monsite.com/Voyage.php?id=461#2">En savoir plus...</a>



Sur la page Voyage.php, l'ancre est définie ainsi :

<a name="2" id="2"><div id="2"><td width="420" align="left" valign="bottom" class="TitrePrincipal">Voyage 2</td></div></a>




J'ai volontairement mis les balises a, name, id et 'div id' pour essayer d'avoir le + de compatibilité possible.
Mais ça ne veut pas fonctionner sous Safari et Konqueror, ça affiche la page 'tout en haut' au lien d'aller directement vers l'ancre.

Est ce un problème connu ? Est ce parce que je passe un argument au php (?id=461), et du coup, il zappe le #2 ?

Merci pour votre aide !
Modifié par patbier (16 Dec 2006 - 12:37)
Salut,

Attention, un id doit être unique. Si tu le définis sur le <a>, il ne faut pas le définir à nouveau sur le <div>.
Merci pour vos réponses, je viens de tester de modifier mon code avec vos conseils :

page 1.php :

<a href="http://www.monsite.com/Voyage.php?id=461#l2">En savoir plus...</a>



Sur la page Voyage.php, l'ancre est définie ainsi :

<a name="2"><td width="420" align="left" valign="bottom" class="TitrePrincipal">Voyage 2


Malheuresement ça ne fonctionne pas mieux.
Avez d'autres idées SVP ?
Je reste persuadé que ça vient des parametres passé au php, car le test suivant fonctionne avec des pages html sous Safari et Konqueror :

page 1.html :

<a href="http://www.monsite.com/Voyage.html#l2">En savoir plus...</a>



Sur la page Voyage.html, l'ancre est définie ainsi :

<a name="2"><td width="420" align="left" valign="bottom" class="TitrePrincipal">Voyage 2


Please help !!
Ben adoptme t'as dit plus haut que les id des ancres ne pouvaient pas être des chiffres. De plus même si les chiffres étaient autorisés tu fais références à une ancre qui s'appelle "12" alors que tu as nommé l'ancre "2". En plus, tu fais apparemment de la mise en page avec tableaux (ce qui est très mal) mais même dans ce cas on ne peut pas mettre une cellule dans un lien ou alors tu voulais faire ceci :
<a name="2"></a><td width="420" align="left" valign="bottom" class="TitrePrincipal">Voyage 2


Ce qui n'est pas beaucoup mieux. Je te conseille de revoir ton code et d'utiliser une mise-en-page html valide et sémantique avec les CSS pour l'habillage : l'apprentissage est un peu plus long mais au moins tu ne dois pas modifier le code html à chaque fois que tu changes de design. Smiley cligne
Modifié par Patidou (19 Dec 2006 - 10:24)
Merci pour la réponse,

en fait, je voulais mettre l'ancre "l2" dans l'exemple (avec un l comme laurent)
et effectivement, j'ai mal ecrit mes exemples.

pour la mise en page, j'ai programmé le site en php à partir d'une maquette faite par un graphiste. Donc je ne pas tout refaire sans tableau.

Pour toi, il y aurait de grandes chances que ça soit dû à la programmation des tableaux ?
Ah oui, effectivement, si tu es dépendant de quelqu'un d'autre au niveau graphisme... Essaye alors au moins de mettre les ancres à l'intérieur des cellules au niveau du texte. Du style :

<td style="titre">
    <a name="ancre2"></a>Mon titre à moi
</td>
je viens de faire plusieurs tests :

page cible en html au lieu du php (j'ai repris le code source généré par le php), et ça ne fonctionne pas non plus sous safari. Ce ne sont donc pas les parametres passés à la page php qui posent pb.

j'ai ensuite testé avec ton code Patidou et ça ne marche tjs pas sous safari.
Donc je suspecte maintenant les ancres dans les tableaux.

il va donc falloir que je fasse une baterie de test avec des pages html toute simple...