Fermer la page courante sans lien ni confirmation avec IE 7.0 et firefox
cs_loupile
Messages postés95Date d'inscriptiondimanche 8 janvier 2006StatutMembreDernière intervention 7 avril 2011
-
15 févr. 2007 à 13:48
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
15 févr. 2007 à 22:08
Bonjour je cherche à fermer ma fenetre courante automatiquement .
en fait cette fenetre fait une requete sql et une fois la requete finie je veux qu'elle se ferme toute seule ! que faut il que j'utilise ?
j'ai vu cela mais ca ne marche pas . notemment sur firefox
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 15 févr. 2007 à 14:26
La fonction close() ne fonctionnne que sur une page qui a été ouverte grâce au script de la page mere.
Ainsi, il faut que tu ouvres le popup par l'intermediaire d'une page et que tu garde dans une variable le nom de cette page.
Ensuite, tu pourras appeler la fonction close().
Sur FF, l'appel de la fonction close() te renvoie une erreur si elle ne concerne pas une page précedemment ouverte par le script.
Sur IE, le navigateur te demande une confirmation.
Je ne sais pas si j'ai été très explicite, donc je te donne cette exemple :
<script>
var bl;
function fermer(){
bl.close();
}
function ouvrir(){
bl = window.open("http://www.google.com","fenetre1","width=310,height=400,left=0,top=0");
}
</script>
[javascript:fermer() fermer la page]
Bonne prog !
Vous n’avez pas trouvé la réponse que vous recherchez ?
lesdis
Messages postés403Date d'inscriptionmercredi 19 avril 2006StatutMembreDernière intervention 7 août 2020 15 févr. 2007 à 14:43
La fonction close peut-etre appelé a partir de n'importe quel élément. (input, a, etc.).
Par contre, d'après ce que j'ai pu lire, il n'est pas possible de fermer une fenêtre si celle-ci n'est pas enfant de ta page.
Si tu le fait, cela te demandera une confirmation sur IE et sur FF, cela te renverra une erreur.
Je ne peut t'en dire plus, vu que je n'est jamais utilisé cette fonction. Peut-être que Bultez pourra te donner de plus amples informations vu qu'il est sûrement plus calé que moi
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 15 févr. 2007 à 15:00
>>...vu qu'il est sûrement plus calé que moi...
sûrement pas
!!!
je me cite ?
...
cela a toujours (?) été impossible avec FireFox.
avec IE7, il semblerait que cela ne soit plus permis.
...
les messages (d'erreurs ou pas) sont d'ailleurs explicites.
( sauf pour les fenêtres ouvertes avec windows.open
ce que montrait l'exemple de ledis. )
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 15 févr. 2007 à 15:22
et d'ailleurs aussi, il est probable ( dis nous si on se trompe )
que ce soit une page ouverte avec window.open pour ton cas !
puisqu'elle "fait une requête sql et que tu désires la fermer
ujne fois le boulot fait" !
==> dans le pop-up, lorsque la requête est faite, appelle
une fonction dans la page mère qui fermera ce pop-up.
par exemple.
<hr />
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 15 févr. 2007 à 22:08
Salut,
Pour ne pas d'embeter utilise une fausse fenêtre popup. Un div par dessus ta page que tu positionne ou tu veux.
Sur le valider de ce div tu fait une requete AJAX,
qui interroge ta base de données.
Dans le onread...
Tu fermes ta div en la rendant invisible.
Et voila tout les problèmes, sont résolus.
NB, si des fois il faut rendre le AJAX synchrone (paramètre de open à false)
pour IE. Nornalement, tu n'auras pas besoin de changer ce paramètre.