Popup, variables, au secours !

Signaler
Messages postés
32
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
3 avril 2015
-
Messages postés
453
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
9 juillet 2004
-
Bonjour !

J'essaie de faire un script de redirection selon la résolution. L'idée est de faire un popup centré, aux bonnes dimensions, et la page mère se ferme. Mais évidemment, ça ne marche pas car je connais pas trop le javascript, et j'ai du mal avec les variables.. Ça doit être bourré d'erreurs...

Dans la balise head :

<script language="javascript">
<!--
// Configuration des popups
page1="/800/index.html";
height1="389";
width1="790";
page2="/1024/index.html";
height2="494";
width2="1003";

// choix configuration popup en fonction de la résolution
if (screen.width <1024)
page=page1;
height=height1;
width=width1;
else if (screen.width >=1024)
page=page2;
height=height2;
width=width2

// fonction pop up centrée + origine selfclose
function iris-redirection(page,largeur,hauteur,options)
{
var top=(screen.height-hauteur)/2;
var left=(screen.width-largeur)/2;
window.open(page,"","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
self.close();
}
//-->
</script>

Dans le corps :
Go

Pourriez-vous m'aider à réécrire convenablement mes variables (rt à corriger les autres fautes)?

Merci !

3 réponses

Messages postés
453
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
9 juillet 2004
2
en effet ya quelques fautes :

pour les if () faut des accolades :
if (screen.availWidth<1024){
page=page1; 
height=height1; 
width=width1; 
} else {
page=page2; 
height=height2; 
width=width2;
}


note que le elseif est inutile ici. et moi j'aurais fai kom ca :
conf_1=new Array("800/", 389, 790);
conf_2=new Array("1024/", 494, 1003);
conf = (screen.availWidth<1024) ? conf_1 : conf_2 ;

note que "index.html" est inutile, vu que ca doit etre la page par défaut du dossier.
d'ou tu sors les 494, etc. ? ces nombres peuvent différer chez les différents clients ; tu devrais utiliser screen.availWidth et screen.availHeight.

ensuite :
function redirection(){
top=(screen.availHeight-conf [ 1 ] )/2;
left=(screen.availWidth-conf [ 2 ] )/2;
open(conf [ 0 ] , "ouverte", "top="+top+", left="+left+", width="+conf [ 2 ] +", height="+conf [ 1 ] +", menubar=no, scrollbars=no, statusbar=no");
}

je mets des espaces avant et après les crochets pour éviter des pb daffichage dans le forum ; tu peux les enlever.

pour finir :
[# Go]


Houzéf@ - www.123toto.com
Messages postés
32
Date d'inscription
dimanche 14 mars 2004
Statut
Membre
Dernière intervention
3 avril 2015

Merci beaucoup, j'ai bien tout noté...

Je vais essayer de mettre tout ça en place..
Messages postés
453
Date d'inscription
dimanche 9 février 2003
Statut
Membre
Dernière intervention
9 juillet 2004
2
petite précision, pour mon dernier code HTML :
[# Go]


tu peux aussi mettre :
[javascript:redirection() Go]

mais UNIQUEMENT PARCE QUE redirection() EST UNE FONCTION QUE TU AS DÉFINIE.

si tu faisais javascript:open(...) là yaurait un pb et faudrait passer par le dièse.

Houzéf@ - www.123toto.com