Popup, variables, au secours !

yakou32 Messages postés 32 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 3 avril 2015 - 4 juil. 2004 à 21:11
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 - 5 juil. 2004 à 13:37
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

cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
5 juil. 2004 à 12:28
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
0
yakou32 Messages postés 32 Date d'inscription dimanche 14 mars 2004 Statut Membre Dernière intervention 3 avril 2015
5 juil. 2004 à 13:28
Merci beaucoup, j'ai bien tout noté...

Je vais essayer de mettre tout ça en place..
0
cs_Houzefa Messages postés 453 Date d'inscription dimanche 9 février 2003 Statut Membre Dernière intervention 9 juillet 2004 2
5 juil. 2004 à 13:37
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
0
Rejoignez-nous