Aller au contenu

Target blank et XHTML Strict


Aller à la solution Solutionné par Dudu,

Sujets conseillés

Guest CraJK
Posté

Salut à tous,

En surfant j'ai enfin trouvé une super solution.

Comme je regarde souvent le code source des sites plutôt que le site lui même, comme cela j'ai l'impression d'apprendre une 2è langues qui deviendra bientôt ma langue maternelle ;)B)

Voici ce que j'ai trouvé, suite à mon dernier sondage sur les liens et les target.

Vous voulez faire un lien vers mon site et que celui çi s'ouvre dans une autre fenêtre (et oui certains le souhaitent....) mais tout en gardant votre validation en (X)HTML Strict et bien voila le code que je vous propose :

<a href='http://www.crajkaro.com' onclick="window.open(this.href,'_blank');return false;">

Le tour est joué :whistling::up:

Posté

Que TU nous proposes ?

Il me semble avoir déjà vu cette solution sur le Hub...

En tout cas elle est TRÈS connue ;)

Je rajouterai qu'elle est très bonne, et dans tous les sens : une personne ayant JavaScript désactivé verra la page s'ouvrir normalement, mais dans la fenêtre en cours, l'information est donc toujours accessible :thumbsup:

À+

Guest Hellway
Posté

Contourner les recommendations du xhtml strict me paraît un peu idiot. Plutôt que de chercher inéxorablement le moyen de faire des sites "comme avant" avec les recommendations actuelles. Mais il me semble en avoir déjà parlé, et le simple fait d'en débattre à nouveau me paraît un retour en arrière flagrant.

Laissons au visiteur le choix de sa propre navigation et ne nous détournons pas des évolutions parfaitement compréhensibles des standards.

Posté

entièrement d'accord avec Hellway, mais quelque part je comprend leur démarche, avec bon navigateur comme Mozilla, un clic sur la molette et le site s'ouvre dans un onglet, avec un navigateur aussi primitif qu'internet-explorer ca devient tout de suite plus fastidieux d'ouvrir une nouvelle fenetre (bah oui faut avoir la 2ème main de libre à proximité du clavier et de la touche shift ... :D et encore, ca c'est la méthode la plus rapide !)

donc bon, ca m'agace toujours autant d'avoir une nouvelle fenêtre qui s'ouvre quand je ne l'ai pas souhaitée, mais d'un autre coté j'ai pitié de tous ces pauvres moutons qui n'ont jamais vu plus loin que la petite icone bleu

récemment j'ai entendu (aprés etre intervenu sur une machine et avoir déplacé l'icone IE du bureau) : "hey, j'ai plus Internet !"

ca fait froid dans le dos

Posté
Contourner les recommendations du xhtml strict me paraît un peu idiot. Plutôt que de chercher inéxorablement le moyen de faire des sites "comme avant" avec les recommendations actuelles. Mais il me semble en avoir déjà parlé, et le simple fait d'en débattre à nouveau me paraît un retour en arrière flagrant.

Laissons au visiteur le choix de sa propre navigation et ne nous détournons pas des évolutions parfaitement compréhensibles des standards.

Il y a quelques cas de figures où c'est très utile.

SI je fais un lien vers une page du site B, qui permet d'acheter un...T-SHirt.

Le visiteur a pas forcement envie que la page pour acheter un T-Shirt prenne celle de mon site !

Les utilisateurs de Mozilla, de toute façon, il feront "clic-molette". Mais pas les utilisateurs d'IE... Donc je leur offre une nouvelle fenêtre :)

A+

Guest CraJK
Posté
Tu n'as pas encore lus tout les articles sur OpenWeb CraJK ? ohmy.gif

http://www.openweb.eu.org/articles/popup/ Image utilisateur

OpenWeb est tellement grand que j'avais du le louper, au moins je suis quand même content de l'avoir trouvé par mes propres moyens :idea:

Guest Hellway
Posté
Les utilisateurs de Mozilla, de toute façon, il feront "clic-molette". Mais pas les utilisateurs d'IE... Donc je leur offre une nouvelle fenêtre :)

Heu, non, si je clique normalement, une nouvelle fenêtre s'ouvrira, ce qui ne manque pas de m'agacer. Tant qu'à faire, tu devrais donner le choix aux utilisateurs :

<a href="http://www.crajkaro.com" onclick="Popup(this.href);">
<script type="javascript/text">
function Popup(href)
{
  if("L'utilisateur a internet explorer")
  {
 window.open(href,'_blank');
 return false;
   }
  else
 return true;
}
</script>

Posté
<a href='http://www.crajkaro.com' onclick="window.open(this.href,'_blank');return false;">

Argh, c'est vraiment salaud ce truc. Moi qui ai mis l'option pour désactiver le target="_blank" dans Firefox, ce truc m'ouvre quand même une fenêtre.

Posté

Pourquoi utiliser javascript quand le navigateur fait lui-même parfaitement bien le travail ? Pourquoi imposer une expérience à l'utilisateur qui serait contraire à ses attentes ? Pourquoi essayer de répondre à une norme, tout en la contournant à la première occasion ? Ah, tant de questions, si peu de réponses !!! ^_^

Posté

L'ouverture forcée d'un lien dans une nouvelle fenêtre est simplement typique du "Web vu par Internet Explorer", et n'a plus de sens dans le Web auquel donnent accès les navigateurs normalisés et plus évolués (navigation par onglets...)

Le débat des pour et des contres va durer... autant qu'IE ;)

Posté

Le problème pourrait peut-être être réglé si IE intégrait les onglets et si les target blank s'ouvraient dans un nouvel onglet.

Personnellement, j'aimerais assez cette solution.

Posté

Bonjour,

Le débat des pour et des contres va durer... autant qu'IE ;)

Là je suis tout à fait d'accord.

Je dois avouer que j'étais favorable aux target_blank :blush:

... jusqu'à ce que je découvre qu'il existait une autre manière de naviguer :D

Donc : pas de target_blank et pas de JavaScript pour contourner leur absence !

Posté
Donc : pas de target_blank et pas de JavaScript pour contourner leur absence !

Ou alors, assumer ses choix et se limiter au doctype transitionnel.

  • 2 semaines plus tard...
Posté

Bonjour à tous.

Je valide mes pages au XHTML Strict et m'efforce de suivre à la lettre les recommandation du W3C. Pas par moutonnage mais parce que ces recommandations me paraissent salutaires. Depuis que j'ai découvert les css, le code de mes pages d'une clarté sans précédent, pour ne citer que cet avantages à se conformer aux standards.

Cependant, il me parait que l'attribut target n'a pas été "banni" pour éviter de forcer l'ouverture d'un lien dans une nouvelle fenêtre mais bien parce que les frames ont été bannies.

Selon moi, il y a des fois (rares mais réels) où forcer l'ouverture dans une autre page ou un autre onglet se justifie :

Pour n'en citer qu'un, c'est le cas de sites externes à son propre site ne permettant pas un retour en arrière par les flêches de navigation. Un lien vers ce genre de site perd l'utilisateur qui n'aurait pas pris de soin de demander une nouvelle fenêtre ou onglet. (par exemple ce site Site

Alors bien sûr, on peut rétorquer qu'il ne faut pas faire de liens vers ce genre de site. Ou que si les utilisateurs sont stupides, ne savent pas surfer, n'utilisent pas les bon navigateurs et tutti quanti, c'est tant pis pour eux.

Mais si je pense que les sites nouveaux et récents doivent être réalisés selon le standard, Internet ne s'est pas fait en un jour et il reste une majorité de sites web qui sont à l'ancienne sauce et qui probablement ne seront jamais retouchés. Pourquoi se priver de cette information quand il existe un moyen propre de le faire? Est-ce vraiment du contournement?

Posté
Alors bien sûr, on peut rétorquer qu'il ne faut pas faire de liens vers ce genre de site.  Ou que si les utilisateurs sont stupides, ne savent pas surfer, n'utilisent pas les bon navigateurs et tutti quanti, c'est tant pis pour eux.

Arg, y'a encore des gens qui tiennent un tel discours ? Nos efforts ne servent donc à rien ? <_<

Pourquoi se priver de cette information quand il existe un moyen propre de le faire? Est-ce vraiment du contournement?

C'est justement pourquoi il existe une version de (x)HTML nommée transitionnelle.... pour composer avec ces sites qui ne repoussent pas les limites d'une bonne séparation claire et nette entre structure de contenu et présentation. Si cela implique que tu doives ajuster ton doctype pour t'y conformer, alors fais-le, ou est le mal ? Le DTD transtionnel n'est pas moins bon que le DTD strict... il sert seulement un autre dessein, celui d'un modèle hybride.

À mon sens, les arguments avancés plus tôt tiennent toujours. La norme est là pour dicter la marche à suivre. Ce n'est pas du moutonnage, c'est un respect des règles. C'est essentiel pour assurer la viabilité de la norme, tu en es conscient je suis convaincu. Alors oui, selon moi, même dans un cas comme celui que tu cites, ça demeure du contournement.

Posté
Pourquoi utiliser javascript quand le navigateur fait lui-même parfaitement bien le travail ? Pourquoi imposer une expérience à l'utilisateur qui serait contraire à ses attentes ? Pourquoi essayer de répondre à une norme, tout en la contournant à la première occasion ? Ah, tant de questions, si peu de réponses !!! ^_^

Salut Denis

Une interrogation pour une autre....

Autre titre possible : les pieds dans le plat !

Pourquoi tous les navigateurs ne font pas le même travail ?

Pourquoi IE est encore plus paresseux que les autres ?

Et en plus pourquoi IE obtient la suprématie quasi-absolue ?

L'expérience que l'on "imposerait" à l'utilisateur serait-elle systématiquement oposée à ses attentes ?

enfin et surtout...

Pourquoi certaines normes sont "nulles" ou tout au moins trop restrictives ????

Pourquoi les normes seraient elles excellentes alors que les idées de tout un chacun seraient nulles ???

Au fait, par mesure de réconciliation : En général, je n'aime pas les target_blank !!! si, si...

pour moi, c'est un manque de courage que de les utiliser.... pourtant, il doit bien en rester quelques uns chez moi, faudra que je balaie un peu...

.... Mais pour montrer une image en conservant la page initiale en fond, je suis beaucoup plus réservé.... là je me dis, il faut du target-blank ou quelque chose qui y ressemble.... Sinon, je dois mettre tout mon site qui figure en signature à la poubelle.....

Dino

Posté

Petite phrase relevée dans la spécification HTML4.01:

Les agents utilisateurs devraient fournir aux utilisateurs un mécanisme pour surclasser l'attribut target.

http://www.la-grange.net/w3c/html4.01/pres...mes.html#h-16.3

Autrement dit, l'attribut target a été conçu pour pouvoir être ignoré par l'utilisateur si celui-ci, pour une raison ou une autre, souhaite que le lien s'ouvre par exemple sans ouverture d'une nouvelle fenêtre...

Ce n'est pas du tout anecdotique : on ne devrait pas essayer de définir un bon usage de l'attribut target sans tenir compte du fait essentiel qu'il ne force pas le comportement de l'utilisateur, mais qu'il est simplement là pour lui proposer un comportement... Même si ce n'est pas son implémentation actuelle.

  • 2 years later...
Posté (modifié)

Une solution valide XHTML Strict et simple à mettre en oeuvre à l'adresse suivante :

-http://frenetikprod.free.fr/blog_technique...ct-target_blank

;)

Modifié par Monique
  • Solution
Posté

Et c'est exactement la même astuce foireuse que celle postée en 2004 lorsque ce topic a été créé; as-tu lu nos réponses ?

Dans la négative, je m'en vais citer une de celles que je trouve la plus parlante:

Pourquoi utiliser javascript quand le navigateur fait lui-même parfaitement bien le travail ? Pourquoi imposer une expérience à l'utilisateur qui serait contraire à ses attentes ? Pourquoi essayer de répondre à une norme, tout en la contournant à la première occasion ? Ah, tant de questions, si peu de réponses !!! ^_^
(d'ailleurs, Denis, que deviens-tu ? :huh:)

En gros: à quoi ça sert de frimer avec un doctype strict si l'on veut utiliser des fonctionnalités de doctype transitionel ?

Autant prendre un doctype transitionel et écrire en toutes lettres un attribut target: c'est de loin la meilleure solution :lol: :lol:

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...