Aide - Recherche - Membres - Calendrier
Version complète : Un bouto deux fonctions...
Forum Développeur - Administration serveur, programmation et base de données > Programmation > Javascript et AJAX
Tendre
S'lut à tous

Voila j'ai un bouton qui me permet d'ouvrir un pop up en 800x600 dans le quel se déroule toute la nav de mon site.

Or ce bouton se trouve sur une page toute bete que je souhaiterai fermer en même temps que le pop up s'ouvre.

J'ai bien trouvé une fonction du style window open...;self.close();
mais le souci c'est qu'on me demande confirmation pour la fermeture de la fenètre.

Y a t-il moyen de la fermer sans confirmation tout en sachant qu'avant il doit m'ouvrir mon pop up?

Merci

Tendre
egraphiste
Hello Tendre,

Essaye ça :
CODE


function openWindow () {

window.open("tonChemin/taPage.htm", etc); // ta fonction d'ouverture

}



function closeWindow () {

self.close(); // ta fonction de fermeture

}



function mes2fonctions () {

openWindow ();

closeWindow ();

}


et sur ton bouton quand tu cliques
CODE


mes2fonctions ();



Ca devrait fonctionner, par contre si par erreur, on ferme ton popup,
on est obligé de se retaper l'url dans le navigateur ?? pas très sympa ça biggrin.gif

a++
Tendre
:bravo:

Regarde tout ça et j'te tiens au courant merci!!!

Tendre
qwix
Tu peux aussi faire:
<la balise HTML.... onClick="fonction1(), fonction2(), fonction......">

Ca va plus vite, et ça fait moins à taper lol wink.gif

smile.gif
egraphiste
Oui effectivemment biggrin.gif
Tendre
help 'Egraph' ça marche pas...
voila le code je suis sur ki manque par grand chose mais la je vois plus rien...
CODE
<SCRIPT src="SCRIPT/ieibd.js" LANGUAGE="JavaScript" type="text/javascript"></SCRIPT>

<script language="JavaScript" type="text/javascript">

function openWindow(page,largeur,hauteur,options){

 var top=(screen.height-hauteur)/2;

 var left=(screen.width-largeur)/2;

 window.open("accueil.htm",800,600,"menubar=no,scrollbars=no,resizable=no,statusbar=no");

}

</script>



<script language="JavaScript" type="text/javascript">

function closewindow(page){

self.close(index.htm)

}

</script>



<script language="JavaScript" type="text/javascript">

function mes2fonctions(ouvrir,fermer){

openWindow ("Accueil/Synthèse-design.net_Accueil.htm",800,600,"menubar=no,scrollbars=no,resizable=no,statusbar=no");

closeWindow(index.htm);

}

</script>


Si jamais t'as deux minutes...

Bonne nuit !!!

Tendre
nanoum
salut tendre !

on peut répondre meme si on n'est pas egraphiste ? :wink:

tu as plusieurs prolèmes avec tes fonctions, qui viennent tous principalement des passages de parametres dans tes fonctions et de variables

il te faudrait quelques bases en javascript pour comprendre un peu mieux, tu pourras trouver ca dans la salle des tutos ! smile.gif

pour commencer, tu n'est pas obligé d'ouvrir et fermer des balises de script pour chaque nouvelle fonction, tu peux tout mettre à la suite

quand tu crées une fonction, tu lui donnes un nom et tu peux lui déterminer certains paramètres
par exemple :
CODE
openWindow(page,largeur,hauteur,options){

signifie que tu crées une fonction nommée openWindow et qui à 4 paramètres : page, largeur, hauteur et options
utiliser des paramètres n'est pas obligatoire, cela te permet d'appeler une meme fonction plusieurs fois dans une page mais avec une application d'fférente (une fonction d'ouverture de popup par exemple utilisée 2 fois dans une page mais qui suivant les paramètres donnés, ouvrira une page différente et avec des dimensions diférentes)

ces paramètres de fonction sont utilisés à l'intérieur de la fonction sous forme de variables
lors de l'appel de la fonction, tu donnes une valeur à chacune de ces variables, cette valeur doit etre notée entre guillemets

un exemple concret :
CODE
function openwindow(page){

window.open(page,'','')

}


il s'agit donc d'une fonction permettant d'ouvrir une fenetre, cette fonction comporte un atttribut nommé page et qui corespond à la fenetre à ouvrir
donc lorsque l'on veut ouvrir la page accueil.html, on appelle la fonction de la facon suivante :
openwindow("accueil.html")
"open.html" et non open.html car il s'agit d'une valeur et non du nom d'une variable

donc en appliquant tout ca, voici ce que pourrait donner tes fonctions sans parametre :


CODE
<script language="JavaScript" type="text/javascript">



function openWindow(){

 var top=(screen.height-600)/2;

 var left=(screen.width-800)/2;

 window.open("accueil.htm","","height=600,width=800,menubar=no,scrollbars=no,resizable=no,statusbar=no,top=
"+top+",left="+left+",");

}



function closewindow(){

self.close()

}



function mes2fonctions(){

openWindow();

closeWindow();

}

</script>


appelé par :
CODE
onclick="mes2fonctions()"


et la meme chose avec des paramètres :

CODE
<script language="JavaScript" type="text/javascript">



function openWindow(page1,hauteur,largeur,attributs){

 var top=(screen.height-hauteur)/2;

 var left=(screen.width-largeur)/2;

window.open(page1,"","top="+top+",left="+left+","+attributs+",height="+hauteur+",width="+largeur+",");

}



function closewindow(){

self.close()

}



function mes2fonctions(page1,hauteur,largeur,attributs){

openWindow(page1,hauteur,largeur,attributs);

closewindow();

}

</script>


qui sera appelée de la facon suivante :
CODE
onclick="mes2fonctions('accueil.htm','600','800','menubar=no,scrollbars=no,resizable=no,statusbar=no')"


a+
nanoum
je viens de relire ton message et j'avais oublié le problème du message de confirmation qui n'est toujours pas réglé avec cette fonction .. :wink:

close() ne demande pas de confirmation lorsqu'il s'agit de popup, pour une fenetre normal autre que popup, il faut utiliser la fonction suivante :

CODE
function fermer() {

opener=self;

self.close();

}


donc tes fonctions deviennent :
CODE
<script language="JavaScript" type="text/javascript">



function openWindow(){

 var top=(screen.height-600)/2;

 var left=(screen.width-800)/2;

 window.open("accueil.htm","","height=600,width=800,menubar=no,scrollbars=no,resizable=no,statusbar=no,top=
"+top+",left="+left+",");

}



function closewindow(){

opener=self;

self.close()

}



function mes2fonctions(){

openWindow();

closeWindow();

}

</script>


et avec les fonctions comprenant des parametres :
CODE
<script language="JavaScript" type="text/javascript">



function openWindow(page1,hauteur,largeur,attributs){

 var top=(screen.height-hauteur)/2;

 var left=(screen.width-largeur)/2;

window.open(page1,"","top="+top+",left="+left+","+attributs+",height="+hauteur+",width="+largeur+",");

}



function closewindow(){

opener=self;

self.close()

}



function mes2fonctions(page1,hauteur,largeur,attributs){

openWindow(page1,hauteur,largeur,attributs);

closewindow();

}

</script>


avec tout ca, ca devrait fonctionner ! smile.gif
Ldo
meme comme cela je ne pense pas ke cela marche

le problème est que la fonction close n'est valable que pour une page ouverte grace a javascript

si la page ke l'on tente de fermer n'a pas ete ouverte grace a un javascript le navigateur demandera toujour une confirmation de fermeture
et je ne pense pas qu'il puisse exister de fonction pour contrer ce problème
nanoum
et pourtant ... ca marche
fait le test mais normalement, ca ne pose pas de problème et ca fonctionne très bien comme ca ! smile.gif
piloue
Et pourtant wink.gif Regarde mon explication en bas de ce post : http://www.dreamweaver-forum.net/viewtopic...ght=opener+self
QUOTE
meme comme cela je ne pense pas ke cela marche
[/img]
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.