C'est un peu naze
Euh non... C'EST CARREMENT NUL, VIRE MOI CA TOUT DE SUITE ARGHHHHHHH
JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS JAMAIS DE JAVASCRIPT:; DANS L'ATTRIBUT HREF DES BALISES <A> !!!!!!!!!!!!!!!
Y'a pas pire que ça !!!!!
Le mieux est de faire comme ça :
<a href="fichier_à_afficher.pouet" title="Titre de l'image (qui sera utilisée pour la fenêtre aussi)" class="popup"><img src="chemin de votre image" width="120" height="700" border="0"></a> |
Donc l'url à afficher dans l'attribut href normal. Note la class "popup". Comme ça,
1) ceux qui n'ont pas Javascript (Google) ou qui l'ont désactivé peuvent ouvrir le lien
2) ceux qui ont javascript activé peuvent aussi choisir d'ouvrir le lien dans une nouvelle fenêtre ou un nouvel onglet.
Avec la solution pourrÿte que tu as trouvé, ces deux points sont totalement foirés. Tu te retrouves avec du beau caca comme le font ceux qui ne savent pas développer
Ensuite, on va définir notre fonction d'ouverture de popup (et on dégage celle de macromedia à la con) :
function openZeWindow() {
window.open(this.href, this.title, "width=500,height=300" );
return false;
} |
Alors on récupère l'href du <a> et le titre, et on les utilises pour ouvrir le popup. Note aussi le return false. Parce que si tu cliques sur un lien avec popup, il va ouvrir le popup... Mais aussi le lien ! Arghhhh. Alors pour éviter ça, soit on fait du caca comme tout le monde et on utilise un javascript:;machin, soit on fait comme les vrai, et on retourne "false".
Pour finir, on va greffer la fonction sur l'évènement onclick, pour tous les <a> dont la class est popup. Alors le script qui suis n'est pas le meilleur (faudrait utiliser d'autres fonctions pour gérer les évènements), mais au moins ça va droit au but :
window.onload = function() {
var aArray = document.getElementsByTagName('a');
for(var i = 0; i < aArray.length; i++) {
if(aArray[i].className == "popup" ) {
aArray[i].onclick = openZeWindow;
}
}
} |
Met les deux scripts dans un fichier .js à part, ce sera mieux