[javascrip] j'arrive pas à fermer une page :(
Fermé
blbg
Messages postés
302
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
22 novembre 2007
-
3 juil. 2003 à 01:07
RAVEN - 7 oct. 2003 à 18:17
RAVEN - 7 oct. 2003 à 18:17
A voir également:
- [javascrip] j'arrive pas à fermer une page :(
- Supprimer une page word - Guide
- Traduire une page - Guide
- Créer une page facebook - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Word numéro de page 1/2 - Guide
7 réponses
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
3 juil. 2003 à 10:31
3 juil. 2003 à 10:31
Slt blbg,
Effectivement il ne se passe rien car la syntaxe que tu utilises, même si elle est logique, n'est pas la bonne ...
La fonction .close() est en fait une méthode d'objet qui n'attend aucun paramètre. Elle ferme l'objet (ici une fenêtre) auquel elle est appliquée.
La syntaxe est donc :
[nom_objet_fenetre].close();
Oui ok mais d'où je sors ce nom_objet_fenetre vas-tu me demander ?
Cette manie aussi de toujours poser des questions, surtout sur un forum ... ;-)
Hé bien en fait lorsque tu créés une nouvelle fenêtre avec window.open(...) , JavaScript créé un nouvel objet (de type window) et retourne une référence (ou un pointeur ? ca je sais pas) que tu dois obligatoirement sauvegarder dans une variable.
Ta fonction devient donc :
J'utilise une variable GLOBALE (càd déclarée à l'extérieur de toute fonction) nommée wnd_fr3 mais tu peux donner n'importe quel nom.
Ensuite pour fermer cette fenêtre depuis ton cadre rien de plus simple :
Le nom "prin" n'est pas utilisé ici !
Il ne sert que lors de l'utilisation de l'attribut target ce qui n'a rien à voir ...
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
Effectivement il ne se passe rien car la syntaxe que tu utilises, même si elle est logique, n'est pas la bonne ...
La fonction .close() est en fait une méthode d'objet qui n'attend aucun paramètre. Elle ferme l'objet (ici une fenêtre) auquel elle est appliquée.
La syntaxe est donc :
[nom_objet_fenetre].close();
Oui ok mais d'où je sors ce nom_objet_fenetre vas-tu me demander ?
Cette manie aussi de toujours poser des questions, surtout sur un forum ... ;-)
Hé bien en fait lorsque tu créés une nouvelle fenêtre avec window.open(...) , JavaScript créé un nouvel objet (de type window) et retourne une référence (ou un pointeur ? ca je sais pas) que tu dois obligatoirement sauvegarder dans une variable.
Ta fonction devient donc :
var wnd_fr3=null;
function chargepr(fr3)
{
wnd_fr3=window.open(fr3,"prin");
}
J'utilise une variable GLOBALE (càd déclarée à l'extérieur de toute fonction) nommée wnd_fr3 mais tu peux donner n'importe quel nom.
Ensuite pour fermer cette fenêtre depuis ton cadre rien de plus simple :
wnd_fr3.close();
Le nom "prin" n'est pas utilisé ici !
Il ne sert que lors de l'utilisation de l'attribut target ce qui n'a rien à voir ...
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
blbg
Messages postés
302
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
22 novembre 2007
10
3 juil. 2003 à 12:12
3 juil. 2003 à 12:12
oki ... merci ....
wé j'pensais que "prin" c'était le nom de la fenétre & que du coup ..... qd j'indiquer "prin" il la reconnaissait ....
comme qd je recharge une nouvelle page ds "prin" j'utilise la m^me fonction que pour l'ouvrir & ça marche ..... il n'en ouvre pas encore une nouvelle .....
dc .... je pensais qu'il la reconnaissait dans tout les cas .... lol
encore merci .. ++ blbg
wé j'pensais que "prin" c'était le nom de la fenétre & que du coup ..... qd j'indiquer "prin" il la reconnaissait ....
comme qd je recharge une nouvelle page ds "prin" j'utilise la m^me fonction que pour l'ouvrir & ça marche ..... il n'en ouvre pas encore une nouvelle .....
dc .... je pensais qu'il la reconnaissait dans tout les cas .... lol
encore merci .. ++ blbg
blbg
Messages postés
302
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
22 novembre 2007
10
3 juil. 2003 à 14:28
3 juil. 2003 à 14:28
j'vien de tester et ça marche super !!!
mais par contre, pour ne pas fermer la page trop tôt
je voudrait metre une tempo, mais ..... ça marche pas,
j'ai tenter avec
setTimeout(),une boucle for mais rien !!
a mon avis c'est avec settimeout(), mais je sais pas si on peu juste faire ça, sans rien faire à l'intérieur... ???
& là je vais regarder si le onload() pour savoir si la page est chargée, marche à partir d'une autre page
avec un truc du still
wnd_fr3.onLoad='setTimeout("self.close();",10000)';
par ex, pour fermer une page 10s aprés la fin de son chargement !!
ça devrait marcher ??
car en faite, ... si j'ai autant de pb, c'est que cette fameuse nouvelle fenêtre, j'y affiche des pages d'un autre site (celui d'un copain), donc je peu pas modifier son code, pour la fermer à partir d'elle même...
mais bon ....
voila ..... encore merci & dslé pr ttes ces questions un peu tordues .. :o)
mais par contre, pour ne pas fermer la page trop tôt
je voudrait metre une tempo, mais ..... ça marche pas,
j'ai tenter avec
setTimeout(),une boucle for mais rien !!
a mon avis c'est avec settimeout(), mais je sais pas si on peu juste faire ça, sans rien faire à l'intérieur... ???
& là je vais regarder si le onload() pour savoir si la page est chargée, marche à partir d'une autre page
avec un truc du still
wnd_fr3.onLoad='setTimeout("self.close();",10000)';
par ex, pour fermer une page 10s aprés la fin de son chargement !!
ça devrait marcher ??
car en faite, ... si j'ai autant de pb, c'est que cette fameuse nouvelle fenêtre, j'y affiche des pages d'un autre site (celui d'un copain), donc je peu pas modifier son code, pour la fermer à partir d'elle même...
mais bon ....
voila ..... encore merci & dslé pr ttes ces questions un peu tordues .. :o)
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
3 juil. 2003 à 17:02
3 juil. 2003 à 17:02
Lo
Oui y'a de l'idée mais je ne pense pas que ca marche en codant
wnd_fr3.onLoad='setTimeout("self.close();",10000)';
Le plus simple est encore de faire :
function chargepr(fr3)
{
wnd_fr3=window.open(fr3,"prin");
setTimeout("wnd.close()",10000);
}
Evidemment il faut que la page fr3 se charge en moins de 10 secondes sinon l'internaute n'aura pas le temps de la voir (ou alors juste une page blanche ...)
Normalement l'idéal serait de pouvoir détecter la fin du chargement de la page. Or depuis le fenêtre appelante ce n'est pas possible ...
Par contre si la personne dont tu charges la page veut bien ajouter ce code (qui ne modifie en rien le fonctionnement de sa page) alors tu pourras détecter la fin du chargement.
Voilà , voilà
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
Oui y'a de l'idée mais je ne pense pas que ca marche en codant
wnd_fr3.onLoad='setTimeout("self.close();",10000)';
Le plus simple est encore de faire :
function chargepr(fr3)
{
wnd_fr3=window.open(fr3,"prin");
setTimeout("wnd.close()",10000);
}
Evidemment il faut que la page fr3 se charge en moins de 10 secondes sinon l'internaute n'aura pas le temps de la voir (ou alors juste une page blanche ...)
Normalement l'idéal serait de pouvoir détecter la fin du chargement de la page. Or depuis le fenêtre appelante ce n'est pas possible ...
Par contre si la personne dont tu charges la page veut bien ajouter ce code (qui ne modifie en rien le fonctionnement de sa page) alors tu pourras détecter la fin du chargement.
<script>
var loaded=false;
</script>
<body onload="loaded=true">
Voilà , voilà
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
PhP
Messages postés
1770
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
3 juil. 2003 à 17:03
3 juil. 2003 à 17:03
Ooops !
setTimeout("wnd_fr3.close()",10000); bien sûr !
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
setTimeout("wnd_fr3.close()",10000); bien sûr !
PhP [Push the button,Don't push the
. button,Trip the station,Change the channel]
salut le monde
Merci deja pour cette discussion sauf ke jé tjs un p'tit bléme avec le code suivant :
//*****
var wnd_fac=null; // declaré en global
wnd_fac=window.open("facture.php","Facture");
setTimeout("wnd_fac.close()", 10000);
//*****
bon alors keski ce passe : la fenetre se lance sans bléme, mé apré rien blackout!!!
méme pas une erreur!!!
elle veut plus se fermé!!
ca vien de koi a votre avis!!
merci d'avance
Merci deja pour cette discussion sauf ke jé tjs un p'tit bléme avec le code suivant :
//*****
var wnd_fac=null; // declaré en global
wnd_fac=window.open("facture.php","Facture");
setTimeout("wnd_fac.close()", 10000);
//*****
bon alors keski ce passe : la fenetre se lance sans bléme, mé apré rien blackout!!!
méme pas une erreur!!!
elle veut plus se fermé!!
ca vien de koi a votre avis!!
merci d'avance
blbg
Messages postés
302
Date d'inscription
mercredi 9 avril 2003
Statut
Membre
Dernière intervention
22 novembre 2007
10
5 juil. 2003 à 01:24
5 juil. 2003 à 01:24
oki, merci ....
je vais pas le tenter tout de suite, ... ( suis fatiguer, demain j'ai un mariage, ... & aprés je part en vacance, dc .... ça sera fin juillet !! )
mais je crois que ça va m'étre trés util !!
mais sinon .... pour le :
setTimeout("wnd.close()",10000);
peu t'on ne rien métre en action ?? ( pour juste avoir la tempo)
car des fois, je vais fermer la page, d'autre fois la recharger, ...
ou alors, ..... j'vien de pencer à un truc, ( & oui comme quoi des fois le soir, on a 'cor tous ces esprit .... ou presque ) j'fait le même genre de fonction mais avec un chargement de page au lieu de la fermeture, & c'est pas grave si pour la premiére fois, .... il y aura une tempo ds le vent !! lol
j'croi q je vais faire ça ! ( si je m'en souvien fin juillet ) mais bon on
sais jamais ça pourra servir aprés, on peu ou pas juste faire une tempo sans action ?? car j'avais tester .... mais ... sans résultat !
bonne nuit, bonne vacances, .... ++ blbg
je vais pas le tenter tout de suite, ... ( suis fatiguer, demain j'ai un mariage, ... & aprés je part en vacance, dc .... ça sera fin juillet !! )
mais je crois que ça va m'étre trés util !!
mais sinon .... pour le :
setTimeout("wnd.close()",10000);
peu t'on ne rien métre en action ?? ( pour juste avoir la tempo)
car des fois, je vais fermer la page, d'autre fois la recharger, ...
ou alors, ..... j'vien de pencer à un truc, ( & oui comme quoi des fois le soir, on a 'cor tous ces esprit .... ou presque ) j'fait le même genre de fonction mais avec un chargement de page au lieu de la fermeture, & c'est pas grave si pour la premiére fois, .... il y aura une tempo ds le vent !! lol
j'croi q je vais faire ça ! ( si je m'en souvien fin juillet ) mais bon on
sais jamais ça pourra servir aprés, on peu ou pas juste faire une tempo sans action ?? car j'avais tester .... mais ... sans résultat !
bonne nuit, bonne vacances, .... ++ blbg