5568 sujets

Sémantique web et HTML

Bonjour,

Certains des liens de mon site internet :
- contiennent des photos et des balises div
- contiennent des variables dans l'url
Lorsque je fais un clic droit sur ces liens php, je n'ai pas accès à l'option "ouvrir dans un nouvel onglet". Je ne souhaite pas que mes liens s'ouvrent systématiquement dans un nouvel onglet, mais seulement lorsque l'utilisateur le souhaite.

Exemple de code php me posant problème :

<?php echo "<a href='vignette.php?id=".$B['Id']."'>"?>
<div class="vignette">
<div class="Nom"><?php echo htmlspecialchars($B['Nom']);?></div>
echo '<img src="'.$B['Photo'].'" alt="photoB" />'
</div>
</a>


Avez-vous une idée pour résoudre mon problème?

Merci beaucoup!
Modérateur
Bonjour,

As-tu validé ton code source avec le validateur du W3C? À moins de faire du HTML5, un lien ne peut pas contenir des div.
On peut contourner ce problème en faisant par exemple

<a class="vignette" target="_blank" href="vignette.php?id=<?php echo $B['Id'] ?>" />
<?php echo htmlspecialchars($B['Nom']); ?>
<img src="<?php echo $B['Photo'] ?>" alt="photoB" />
</a>

et
a.vignette {display:block}

Modifié par Laurie-Anne (19 Apr 2011 - 10:14)
Cette solutions pose deux problèmes :
1. elle ne corrige pas la cause du problème, juste un symptôme.
2. elle est néfaste pour le visiteur puisqu'elle ne lui donne pas la possibilité d'ouvrir un ouvel onglet mais force cette ouverture. Et forcer le comportement du navigateur c'est toujours néfaste.