begin process at 2012 02 14 09:54:01
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Navigation

 > UTILISER TARGET="_BLANK" SUR UNE PAGE VALID XHTML STRICT

UTILISER TARGET="_BLANK" SUR UNE PAGE VALID XHTML STRICT


 Information sur la source

Note :
Aucune note
Catégorie :Navigation Classé sous :xhtml, blank, target Niveau :Débutant Date de création :17/01/2007 Vu :8 706

Auteur : hvb

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note


 Description

Permet comme spécifié dans le titre, d'utiliser des liens avec l'option target="_blank" malgré une validation xhtml strict.
Bien sur, cette methode renvoit à un long débat, je ne vais pas m'etendre sur la fait qu'un doctype transitional accepte ces methodes, et bla bla...
je pense que c'est utile pour les liens vers des sites externes, avis aux autres cheaters :-)
Bien sur, ceci n'est qu'une adaptation que j'estime plus propre, d'une idée qui court déja beaucoup sur le net, je ne m'en attribue aucunement les merites... ni les critiques de la mehode elle meme :D :D

Source

  • function setlinks(linkclass)
  • {
  • links = document.getElementsByTagName('a');
  • for(i in links)
  • {
  • if (links[i].className==linkclass) // verifie que le lien est de la classe specifié, supprimez ce test et l'argument de la fonction si vous voulez appliquer l'evenement à touts les liens de la page
  • {
  • links[i].onclick=function linkblank(event)
  • {
  • window.open(this.href,'_blank');
  • return false;
  • }
  • };
  • }
  • }
  • //puis appelez la function au load de la page, qui attend comme argument le nom de la class sur laquelle appliquer l'evenement.
function setlinks(linkclass)
{
	links = document.getElementsByTagName('a');
	for(i in links)
	{
		if (links[i].className==linkclass) // verifie que le lien est de la classe specifié, supprimez ce test et l'argument de la fonction si vous voulez appliquer l'evenement à touts les liens de la page
		{
			links[i].onclick=function linkblank(event) 
			{
				window.open(this.href,'_blank');
				return false;
			}
		};
	}
}
//puis appelez la function au load de la page, qui attend comme argument le nom de la class sur laquelle appliquer l'evenement. 



 Sources de la même categorie

Source avec Zip Source avec une capture ANTI-ROBOTS V 1.0 par MacGaliver
Source avec une capture PRÉSENTOIR PAGE/SUJET par tiranus
Source avec Zip Source avec une capture NAVIGATEUR INTERNET HAVRET par HAVRETos
Source avec Zip WMANAGER.JS : GÉRER LES FICHIERS WMA AVEC WINDOWS MEDIA PLAY... par jdmcreator
Source avec Zip Source avec une capture NAVIGATION PAR AJAX, CHARGEMENT DES PAGES SANS RECHARGEMENT par zulrigh

 Sources en rapport avec celle ci

Source avec Zip ACCESSIBARRE - AMÉLIORER LE CONFORT DES PERSONNES NON-VOYANT... par Pfuch
Source avec Zip Source avec une capture LISTE UL DÉFILANTE UTILISANT SCRIPT.ACULO.US par mikerob
Source avec Zip Source avec une capture MENU DYNAMIQUE DÉROULANT W3C par abdoulax

Commentaires et avis

Commentaire de jesusonline le 22/01/2007 20:21:34 administrateur CS

Euh ??? C'est quoi l'utilité ? As ton avis s'ils ont supprimé l'attribut target tu ne penses qu'il y a une raison ?

Je laisse la source car le code est "interessant" bien que complétement inutile ! Tu peux cependant utiliser links[i].className.contains(linkClass) ce qui permettra par exemple de mettre deux classes CSS sur le meme lien. (le mieux serait de faire un split(' ') sur className afin d'etre sur que l'élément contient bien la classe CSS ou alors il faut utiliser une expression réguliere)

Commentaire de hvb le 24/01/2007 09:23:51

salut :) l'utilité peut en effet être critiqué, voir qualifié d'inexistante. Moi je dirais même que c'est pueril, lol...
Pour repondre à "pourquoi il s l'ont enlever", je pense (je sais pas en fait) que c'est pour une question de compatibilité avec des navigateurs "restreints" , mais le code devrait néanmoins marcher si ceux ci gèrent pas le target=_blank (moyennant peut etre un try catch,
et là on tombe dans le cheat pur et dur... )
Mais je me defend quand même, meme si j'avais dit que je ne m'etendrais pas, tu m'y oblige ^^ : J'ai refait entierement ma petite homepage, que j'ai montré à un collegue, en pronant un valid html 4.01 transitional amplement suffisant à mes besoins.
Mais en montrant ça à un collegue, celui ci s'est "payé ma tête" (façon hacker, "mouhahaha minable") en me sortant que LA NORME c'est xhtml strict. J'ai été le premier à argumenter contre cette idée, mais j'ai fini par m'avouer qu'il m'avait vexé, j'ai donc revu tout mon code (et mon css, bizarrement... c'était necessaire) pour le valider xhtml strict.
Et comme une seule page (celle des liens externes) posait encore problème avec cette fonctionalité, je me suis permis de la contourner.
Après reste la question, suis-je vraiment obliger de choisir pour l'utilisateur la façon dont il va naviguer, effectivement non,
peut etre meme que je vais le supprimer de ma page, mais j'ai remarqué que beaucoup de gens avaient recontré le problème, ce code et les commentaires qui suivent pourront donc, je pense, être utile.
Je mettrais à jour le code pour permettre, comme tu le suggère, d'appliquer plusieurs classe aux liens.

Commentaire de jesusonline le 24/01/2007 10:55:29 administrateur CS

ils l'ont enlevé de XHTML car c'est à l'utilisateur de choisir s'il veut ou non ouvrir une nouvelle fenetre. Etre valide XHTML c'est pas seulement avoir le petit logo mais c'est aussi respecter la philosophie qu'il y a derriere.

Commentaire de hvb le 07/02/2007 11:01:57

C'est vrai, je suis d'ailleur passé en xhtml transitional pour ma part, mais comme je l'ai dit au dessus, je sais que pas mal de gens ont été ettoné par ça, et rien que notre conversation pourrait en interesser plus d'un.

Commentaire de abdoulax le 07/05/2007 20:04:23

Il y a une astuce bien plus simple qui consiste à faire un : onclick="window.open(this.href); return false;"
Surtout que ton script fait que tous tes liens s'ouvrent dans une nouvelle fenêtre.

De plus je suis d'accord avec JESUSONLINE sur le fait de respecter les normes et non d'essayer de passer à travers le robot de validation.
Cependant il vrai que dans certain cas on peut avoir besoin de forcer l'ouverture dans une nouvelle fenêtre mais ce cas doit être exeptionnel ou sinon il faut se tourner vers du xhtml transitional.

Voilà mon avis,

Have fun

Commentaire de hvb le 29/06/2007 16:57:58

"Il y a une astuce bien plus simple qui consiste à faire un : onclick="window.open(this.href); return false;""
-> Heuuu c'est justement ce que je fais, sauf que j'applique l'evenement de façon "dynamique" pour ne pas avoir à réecrire tout mes liens...

"Surtout que ton script fait que tous tes liens s'ouvrent dans une nouvelle fenêtre."
-> Non justement, seulement ceux qui font partie de la classe passée en paramêtre.


Faut que je prenne le temps de faire la modif proposée par JesusOnline, maintenant que les exams sont finis... y a plus que la flemme à combattre ^^

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

execCommand+createlink+target _blank [ par yanka ] Bonjour,Est-ce que vous pensez qu'il existe une solution pour utliser un execCommand et createlink et target _blank ?J'ai ce code:<script>functi Liste deroulante target_blank [ par thomcam ] Bonjours a tous jaimerai savoir si vous conaitriez un menu deroute qui avec un bouton GO ou autre qui ouvre la cible dans une nouvelle fenetre jai ess Faire en sorte que tt les liens d'une page s'ouvrent avec une target "_blank" [ par converse ] Bonjour à tous,J'ai cherché toute la matinée sans succès à savoir s'il existait un petit script à placer dans une page h XML probleme de lien... [ par SHIBALBAH ] Bonjour à tous,(je précise que je suis novice dans la création de site, j'utilise le logiciel flash)J'ai crée un menu en flash pour un site développé target "blank" en java script [ par tupacman ] je suis debutant en java script et je veux savoir comment ouvrir mon pop up a chaque clique dans une nouvelle fenetre "target= _blank" voila mon code Target_blank : problème de code source [ par jadorjs ] Dans ce script de défilement de bannières avec effet de fondu et redirection, je ne parviens pas à faire une redirection dans une nouvelle page (j'ai Grosse URGENCE incompatibilité IE et XHTML [ par Obla ] Bonsoir, Suis nouveau ici, merci par avance pour la lecture de ce post. Je suis un peu à l'Ouest en langage web donc au niveau des termes que j'emplo Shadowbox et les target blank [ par Kitzume ] Bonjour a tous, Le problème rencontré : Dans la fenêtre du shadowbox j'ai mis des liens vers des sites. Sous Firefox, il m'ouvre la fenêtre dans un onglet [ par dede260 ] bonjour dans mon menu deroulant j'ai des liens vers d'autres sites ex: addMainItem("","Divers Liens",120,"center","","",0,0,"","","","",""); define si quelqu'un a un calendrier compatible en xhtml 1.0 strict se serait trop cool [ par ahl00 ] bonjour je suis a la recherche d'un calendrier compatible en xhtml 1.0 strict si quelqu'un en dispose de un de preference permanent se serai vachement


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,279 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales