Simuler un target="_blank" valide xhtml strict

Soyez le premier à donner votre avis sur cette source.

Snippet vu 8 234 fois - Téléchargée 16 fois

Contenu du snippet

Cette ligne de code est à insérer à l'intérieur d'une balise <a> d'un lien.

Elle permet d'ouvrir le lien dans une nouvelle fenêtre ou un nouvel onglet tout en restant valide en XHTML Strict.

Source / Exemple :


onclick="window.open(this.href); return false;" onkeypress="window.open(this.href); return false;"

A voir également

Ajouter un commentaire

Commentaires

molokoloco
Messages postés
4
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
21 décembre 2009

En gros, avec prototype linké.. cela donne

$$('a.popupblank').each(function(e) {
var href = e.getAttribute('href');
e.onclick = function () { window.open(href); return false; };
});

Yep ;)
lvdesign
Messages postés
1
Date d'inscription
mercredi 6 octobre 2004
Statut
Membre
Dernière intervention
31 octobre 2008

Bonjour,
Tout cela est fort intéressant Mais je vais vous proposer une autre solution plus propre, rapide et évolutive.
Avec seulement un nom de classe, par exemple "popupblank" dans le Body, exemple:

tester le script [LaPageOuLaRéferenceAAtteindre À consulter]

et voilà le tour est joué car dans le Head, un script externe exécute la réference à la class="popupblank".

Bon voici le code du .js:
//function chargement de l'action
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function () {
oldonload();
func();
}
}
}
//lecture de class concernée dans la page Html
function prepareLinksBlank() {
if (! document.getElementsByTagName ) return false;
var links = document.getElementsByTagName("a");//lecture des a
for (var i = 0; i < links.length; i++) {
if (links[i].className == "popupblank") { //si "popupblank" alors
links[i].onclick = function () {
popUpBlank(this .getAttribute("href"));
return false;
}
}
}
}
//action de la class popupblank, parametrage à vos souhaits.
function popUpBlank(winURL) {
window.open(winURL, "popupblank", "toolbar=0,location=0,directories=0,scrollbars=1, target=_blank");
}

//pour plus de détails www.lvdesign.com.fr - rubrique:Tips
molokoloco
Messages postés
4
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
21 décembre 2009

J'aimais bien l'attribut target...
mais sinon..

;)
Arto_8000
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
5
Pour rajouter au propos de HVB, il est toujours mieux de séparer le javascript/css du code HTML en général. Moindrement que l'on travaille avec des projets assez gros, c'est va beaucoup mieux pour coder s'il l'on sépare le tout.
hvb
Messages postés
939
Date d'inscription
vendredi 25 octobre 2002
Statut
Membre
Dernière intervention
27 janvier 2009
1
moui... le principe est exactement le même, sauf que dans l'autre source, les événements sont définis de manière dynamique, ce qui est quand même plus pratique...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.