Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 2010
-
18 mai 2008 à 06:15
molokoloco
Messages postés4Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention21 décembre 2009
-
31 oct. 2008 à 11:33
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
molokoloco
Messages postés4Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention21 décembre 2009 31 oct. 2008 à 11:33
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és1Date d'inscriptionmercredi 6 octobre 2004StatutMembreDernière intervention31 octobre 2008 31 oct. 2008 à 11:25
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és4Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention21 décembre 2009 2 juil. 2008 à 20:42
J'aimais bien l'attribut target...
mais sinon..
;)
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 20 mai 2008 à 17:11
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és939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 20 mai 2008 à 09:53
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...
medium69
Messages postés2Date d'inscriptionsamedi 17 mai 2008StatutMembreDernière intervention19 mai 2008 19 mai 2008 à 20:32
J'ai vu... mais là je le propose en une ligne de code à mettre uniquement dans les liens à ouvrir dans une nouvelle fenêtre.
De plus, dans mon cas, cela marche que le lien soit activé à la souris, ou au clavier (accessibilité oblige ;) )
hvb
Messages postés939Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention27 janvier 20093 19 mai 2008 à 09:45
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 18 mai 2008 à 06:15
En cherchant un peu sur le sujet, je suis tomber sur ceci. C'est un article assez complet qui traite du sujet de l'attribut target avec le HTML/XHTML Strict :
31 oct. 2008 à 11:33
$$('a.popupblank').each(function(e) {
var href = e.getAttribute('href');
e.onclick = function () { window.open(href); return false; };
});
Yep ;)
31 oct. 2008 à 11:25
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
2 juil. 2008 à 20:42
mais sinon..
;)
20 mai 2008 à 17:11
20 mai 2008 à 09:53
19 mai 2008 à 20:32
De plus, dans mon cas, cela marche que le lien soit activé à la souris, ou au clavier (accessibilité oblige ;) )
19 mai 2008 à 09:45
http://www.javascriptfr.com/codes/UTILISER-TARGET-_BLANK-SUR-PAGE-VALID-XHTML-STRICT_41157.aspx
18 mai 2008 à 06:15
http://www.cybercodeur.net/weblog/commentaires/detailsCarnet.php?idmessage=1088