Page 1 sur 1
les attribut target et onclick pour lien externe: que choisi
Posté : 11 mars 2008, 17:09
par BeRoots
salut à tous
j'ai un doute sur une formulation de lien pour être valid XHTML et ne pas utiliser une syntaxe qui est ou deviendrait dépressiée...
Syntaxe 1:
Code : Tout sélectionner
<a href="http://www.phpfrance.com" target="_blank" title="PHP France">un tres bon site</a>
Syntaxe 2:
Code : Tout sélectionner
<a href="http://www.phpfrance.com" onclick="this.target='_blank'" title="PHP France">un tres bon site</a>
laquel choisir ?
merci d'avance pour vos réponses

Posté : 11 mars 2008, 17:18
par h0_noMan
Moi j'utilise cela (valide XHTML 1.0 Strict) :
Code : Tout sélectionner
<a href="http://www.phpfrance.com" onclick="window.open(this.href, '_blank');" title="PHP France">un tres bon site</a>
Posté : 11 mars 2008, 17:44
par AB
La syntaxe 1 sera valide xhtml transitionnel et non pas strict (cela dit ce n'est pas un drame).
La syntaxe 2, jamais vue.
La syntaxe d' h0_noMan comprend quelques approximations. Tel quel ce code devrait ouvrir deux fenêtres et par ailleurs comme on utilise window.open c'est inutile de spécifier _blank
Donc cela devrait donner quelque chose comme :
Code : Tout sélectionner
<a href="http://www.phpfrance.com" onclick="window.open(this.href); return false" title="PHP France">un tres bon site</a>
Cette syntaxe est valide XHTML stricte mais si le visiteur a désactivé js le lien s'ouvrira dans la même fenêtre (ce qui n'est pas non plus).
Donc à toi de choisir entre ta syntaxe 1 et celle de h0_noMan
Posté : 11 mars 2008, 17:58
par h0_noMan
La syntaxe d' h0_noMan comprend quelques approximations. Tel quel ce code devrait ouvrir deux fenêtres et par ailleurs comme on utilise window.open c'est inutile de spécifier _blank
Donc cela devrait donner quelque chose comme :
Code : Tout sélectionner
<a href="http://www.phpfrance.com" onclick="window.open(this.href); return false" title="PHP France">un tres bon site</a>
Exact.
Désolé je nais pas fait assez attention en collant le code.
Mais le mieux est de ne pas mettre de target afin de laisser à l'utilisateur le choix de quitter ton site et d'aller sur le lien ou de l'ouvrir dans une nouvelle fenetre/onglet
Posté : 11 mars 2008, 18:38
par AB
...
Mais le mieux est de ne pas mettre de target afin de laisser à l'utilisateur le choix de quitter ton site et d'aller sur le lien ou de l'ouvrir dans une nouvelle fenetre/onglet
Exact également

C'est cette syntaxe que j'utilise toujours
Posté : 11 mars 2008, 23:06
par BeRoots
Ps. la syntaxe 2 fonctionne très bien (même comportement que la 1) et est celle fournis par mon hebergeur chez celeonet.... (on a d'ailleurs un modo sur ce forum qui travail avec eux)
si quelqu'un ce sent d'apporter de plus ample information sur cette syntaxe 2

Posté : 12 mars 2008, 01:29
par AB
Pas tout à fait le même comportement que la 1 car avec la 1 le visiteur ne peux pas choisir d'ouvrir le lien dans la même fenêtre et le code ne sera pas valide strict.
Alors qu'avec la 2 c'est le même fonctionnement qu'avec la solution qu'on t'a donné.
En y regardant un quart de seconde de plus elle est très bien cette seconde solution. Je n'avais pas regardé car j'utilisais plutôt la dernière par habitude mais cette solution est même plus logique.
Les deux dernières solutions passent le validateur strict mais aucune des deux n'est réellement dans l'esprit XHTML strict mais bon ... y'a plus important à optimiser (à moins d'être psycho rigide ou d'avoir neuf vies devant soi...)
Posté : 12 mars 2008, 13:58
par jojolapine
Et pourquoi pas afficher les deux choix à l'utilisateur?
Tu affiche une petite icone qui veut dire "ouvrir une nouvelle fenêtre" et qui a un attribut target ou du javascript et ensuite tu affiche le lien qui reste sur le même page, comme ça on a le choix...
Re: les attribut target et onclick pour lien externe: que ch
Posté : 12 mars 2008, 14:00
par zeus
J'ai vu une erreur énorme dans les 2 liens :
/me suis déjà dehors ==> []

Posté : 12 mars 2008, 16:36
par BeRoots
mille excuse pour ce lien on ne peut plus que modeste
sinon je vais opter pour la seconde syntaxe fournis par l'hebergeur car elle colle bien avec ma politique de gestion de mes liens externes...
merci à tous

Posté : 13 mars 2008, 17:02
par AB
Et pourquoi pas afficher les deux choix à l'utilisateur?
Tu affiche une petite icone qui veut dire "ouvrir une nouvelle fenêtre" et qui a un attribut target ou du javascript et ensuite tu affiche le lien qui reste sur le même page, comme ça on a le choix...
Oui mais ça fait deux fois le même lien à afficher. Niveau ergonomie...
L'avantage des deux dernières solutions c'est que le visiteur a le choix, en faisant un click droit sur le lien, de choisir la destination d'ouverture du lien. Et avec un click gauche on a l'effet voulu par le webmestre. Un bon compromis à mon avis.
Posté : 18 mars 2008, 14:21
par BeRoots
j'ai donc inseré la syntaxe suivante mais j'aimerai garder le focus sur mon onglet plutot que de passer sur mon onglet ou fenetre en court...
Code : Tout sélectionner
<a href="http://www.phpfrance.com" onclick="this.target='_blank'" title="PHP France">un tres bon site</a>
merci d'avance de votre aide
