100 votes

Ouvrir une popup et rafraîchir la page parentale à la fermeture de la popup

J'ai ouvert une fenêtre popup par window.open en JavaScript, je veux rafraîchir la page parentale lorsque je ferme cette fenêtre popup (événement onclose ?) comment puis-je faire ?

window.open("foo.html","windowName", "width=200,height=200,scrollbars=no");

2voto

user1747356 Points 8

Dans mon cas, j'ai ouvert une fenêtre pop up en cliquant sur le bouton de lien dans la page parent. Pour rafraîchir la page parent à la fermeture de la page enfant, utilisez

window.opener.location.reload();

dans la fenêtre enfant a entraîné la réouverture de la fenêtre enfant (peut-être à cause de l'état de la vue, je suppose. Corrigez-moi si je me trompe). J'ai donc décidé de ne pas recharger la page dans la fenêtre parent et de charger la page à nouveau en lui attribuant la même URL.

Pour éviter que les fenêtres pop-up ne s'ouvrent à nouveau après leur fermeture, voici ce qui pourrait vous aider,

window.onunload = function(){
    window.opener.location = window.opener.location;};

1voto

Chris Li Points 2236

Si votre application fonctionne sur un navigateur compatible HTML5. Vous pouvez utiliser postMessage . L'exemple qui y est donné est assez similaire au vôtre.

1voto

YuPPie Points 460

Essayez ceci

        self.opener.location.reload(); 

Ouvrir le parent d'une fenêtre actuelle et recharger l'emplacement.

0voto

dewelloper Points 9

Vous pouvez atteindre la page principale avec la commande parent (parent est la fenêtre) après l'étape vous pouvez faire tout...

    function funcx() {
        var result = confirm('bla bla bla.!');
        if(result)
            //parent.location.assign("http://localhost:58250/Ekocc/" + document.getElementById('hdnLink').value + "");
            parent.location.assign("http://blabla.com/" + document.getElementById('hdnLink').value + "");
    }

0voto

muqofa Points 1

Vous pouvez utiliser le code ci-dessous dans la page parent.

<script>
    window.onunload = refreshParent;
    function refreshParent() {
      window.opener.location.reload();
    }
</script>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X