SIMULER UN TARGET="_BLANK" VALIDE XHTML STRICT

Signaler
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
-
molokoloco
Messages postés
4
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
21 décembre 2009
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/46689-simuler-un-target-blank-valide-xhtml-strict

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.