J'ai ouvert une fenêtre contextuelle par window.open en JavaScript, je souhaite actualiser la page parent lorsque je ferme cette fenêtre contextuelle. (Événement onclose?) Comment puis-je faire cela?
window.open("foo.html","windowName", "width=200,height=200,scrollbars=no");
Réponses:
Vous pouvez accéder à la fenêtre parente en utilisant ' window.opener ', donc, écrivez quelque chose comme ce qui suit dans la fenêtre enfant:
la source
popupWindow.closed
utilisantsetInterval
comme dans la solution de @ Zuul.La fenêtre contextuelle ne contient aucun événement de fermeture que vous pouvez écouter.
D'autre part, il existe une propriété fermée qui est définie sur true lorsque la fenêtre se ferme.
Vous pouvez définir une minuterie pour vérifier cette propriété fermée et le faire comme ceci:
Voir cet exemple de travail Fiddle !
la source
sur votre page enfant, mettez-les:
et
mais comme une bonne conception d'interface utilisateur, vous devriez utiliser un Close
button
car il est plus convivial. voir le code ci-dessous.la source
J'utilise ceci:
lorsque la fenêtre se ferme, elle actualise la fenêtre parente.
la source
window.open renverra une référence à la fenêtre nouvellement créée, à condition que l'URL ouverte soit conforme à la politique de même origine .
Cela devrait fonctionner:
la source
Dans mon cas, j'ai ouvert une fenêtre contextuelle en cliquant sur le bouton de lien dans la page parent. Pour actualiser le parent lors de la fermeture de l'enfant en utilisant
dans la fenêtre enfant a provoqué la réouverture de la fenêtre enfant (peut-être à cause de l'état d'affichage, je suppose. Corrigez-moi si je me trompe). J'ai donc décidé de ne pas recharger la page dans le parent et de charger à nouveau la page en lui attribuant la même URL.
Pour éviter de réouvrir la fenêtre contextuelle après la fermeture de la fenêtre contextuelle, cela peut aider
la source
Si votre application s'exécute sur un navigateur compatible HTML5. Vous pouvez utiliser postMessage . L'exemple qui y est donné est assez similaire au vôtre.
la source
Essaye ça
la source
Vous pouvez accéder à la page principale avec la commande parent (le parent est la fenêtre) après l'étape, vous pouvez tout faire ...
la source
Vous pouvez utiliser le code ci-dessous dans la page parent.
la source
Le code suivant parviendra à actualiser la fenêtre parent après la fermeture:
la source