windows opener

Mammouth du PHP | 592 Messages

19 déc. 2006, 10:03

Bonjour à tous,

voila j'ai ma page index.php donc celle ci :
<?php
if($_GET['form'])
{
echo"<script language=\"javascript\">
window.open('http://parch/index2.php', 'popup','width=200,height=200,top=200,left=400,toolbar=yes,location=0,directories=yes,status=0,menubar=0,scrollbars=yes,copyhistory=0,resizable=yes'); 
window.opener=self;
self.close();  
</script>";
}
else
{
echo"<script language=\"javascript\">
window.open('http://parch/index2.php', 'WindowName', 'fullscreen=yes'); 
window.opener=self; 
self.close(); 
</script>";
}
?>
elle a pour but de redimensionner la fenetre de l'explorateur en fonction de la variable form.

sur la page accueil.php j'ai 2 boutons un avec la variable et l'autre sans cela passe par l'url.

le problème est si je suis en mode plein écran et que je clique sur le bouton plein écran ma fenetre se ferme.
ainsi si je suis en mode reduit et que je clique sur mode réduit elle se ferme aussi.

je vois pas pourquoi elle ferme et comment y remédier ?? :cry:

Mammouth du PHP | 19672 Messages

19 déc. 2006, 10:32

En voyant ton code, on pourrait le simplifier de la manière suivante :
<?php
if($_GET['form'])
{
    $fenetre = "'http://parch/index2.php', 'popup','width=200,height=200,top=200,left=400,toolbar=yes,location=0,directories=yes,status=0,menubar=0,scrollbars=yes,copyhistory=0,resizable=yes'";
}
else
{
    $fenetre = "'http://parch/index2.php', 'WindowName', 'fullscreen=yes'";
}
?>
<script language="javascript">
  window.open(<?php echo($fenetre); ?>); 
  window.opener = self; 
  self.close(); 
</script>
Mais je ne comprends pas trop l'intérêt de fermer la fenêtre parente :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 592 Messages

19 déc. 2006, 10:37

l'intéret est qu'il ne reste pas une page blanche derriere. :wink:

je comprend pas trop j'ai fait des modifs :

je ferme la page puis je l'ouvre avec le lien mais ça fonctionne pas sous ie6.

AArr gghh :x

Mammouth du PHP | 592 Messages

19 déc. 2006, 10:39

en gros je fais ça maintenant tout marche nickel sous firefox mais pas sous winDOB
<?php
if($_GET['form'])
{
echo"
<script language=\"javascript\">
window.close();
window.open('http://parch/index2.php', 'popup','width=200,height=200,top=200,left=400,toolbar=yes,location=0,directories=yes,status=0,menubar=0,scrollbars=yes,copyhistory=0,resizable=yes');  
</script>";
}
else
{
echo"<script language=\"javascript\">
window.close();
window.open('http://parch/index2.php', 'WindowName', 'fullscreen=yes'); 
</script>"; 
}
?>
d'ailleur comment supprimer le message de fermeture des pages??
Modifié en dernier par fred9999 le 19 déc. 2006, 10:41, modifié 1 fois.

Mammouth du PHP | 19672 Messages

19 déc. 2006, 10:41

Et si au lieu d'ouvrir une nouvelle fenêtre tu faisait une redirection : donc au lieu de window.open, tu fais un window.location
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 592 Messages

19 déc. 2006, 10:44

il bug sur le window.location il ne traite pas la commande

Mammouth du PHP | 19672 Messages

19 déc. 2006, 10:55

Sans montrer le code, tu auras du mal à faire trouver une erreur quelconque :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 592 Messages

19 déc. 2006, 12:26

comme ça :wink: :wink: :
<?php
if($_GET['form'])
{
echo"
<script language=\"javascript\">
window.close();
window.location('http://parch/index2.php', 'popup','width=200,height=200,top=200,left=400,toolbar=yes,location=0,directories=yes,status=0,menubar=0,scrollbars=yes,copyhistory=0,resizable=yes'); 
</script>";
}
else
{
echo"<script language=\"javascript\">
window.close();
window.location('http://parch/index2.php', 'WindowName', 'fullscreen=yes'); 
</script>"; 
}
?>

Mammouth du PHP | 19672 Messages

19 déc. 2006, 12:57

le window.location n'ouvre pas une nouvelle fenêtre et encore moins un pop-up. Donc simplifions :
<?php
if(isset($_GET['form']))
{
    $page = 'http://parch/index2.php';
}
else
{
    $page = 'http://parch/index2.php';
}
?>
<script language="javascript">
window.location.href='<?php echo($page); ?>'; 
</script>
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 592 Messages

19 déc. 2006, 13:23

oui mais la ça sert à rien !! :?

moi je gère la taille d'affichage avec le index.php

si l'affichage n'es pas gérer autant que je renomme index2.php en index.php ça ira + vite.

Mammouth du PHP | 19672 Messages

19 déc. 2006, 13:32

Précisément : ouvrir une nouvelle fenêtre pour fermer la fenêtre appelante ne sert à rien non plus :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 592 Messages

19 déc. 2006, 15:37

l'inverse plutot ???

en fait je ferme la page appelante pour ouvrir mon autre page.
<?php 
if($_GET['form']) 
{ 
echo" 
<script language=\"javascript\"> 
window.close(); 
window.open('http://parch/index2.php', 'popup','width=200,height=200,top=200,left=400,toolbar=yes,location=0,directories=yes,status=0,menubar=0,scrollbars=yes,copyhistory=0,resizable=yes');  
</script>"; 
} 
else 
{ 
echo"<script language=\"javascript\"> 
window.close(); 
window.open('http://parch/index2.php', 'WindowName', 'fullscreen=yes');  
</script>";  
} 
?>
mais bon mon problème n'es pas la mais si je repasse la variable form toutes les pages se ferment