Maison  >  Article  >  interface Web  >  Comment obtenir le statut de la page enfant dans la page parent en javascript

Comment obtenir le statut de la page enfant dans la page parent en javascript

PHPz
PHPzoriginal
2023-04-25 18:19:08761parcourir

Dans le développement Web, un scénario couramment utilisé est qu'une page parent ouvre une page enfant Lorsque la page enfant est fermée, certaines opérations doivent être effectuées, comme l'actualisation de la page parent, etc. Lors de l'écriture d'applications Web à l'aide de JavaScript, nous devons savoir comment obtenir le statut de la sous-page dans la page parent afin de pouvoir effectuer les opérations correspondantes.

En JavaScript, vous pouvez utiliser l'objet window pour ouvrir et fermer des pages. Lorsque nous ouvrons une nouvelle page, nous pouvons utiliser la méthode window.open(). Cette méthode accepte trois paramètres. Le premier paramètre est l'adresse de la page à ouvrir, le deuxième paramètre est le nom de la fenêtre et le troisième paramètre est les caractéristiques de la fenêtre.

Par exemple, le code suivant ouvre une nouvelle fenêtre et définit le nom de la fenêtre sur "myWindow" :

var myWindow = window.open("http://www.example.com", "myWindow", "width=500,height=500");

Lorsque nous voulons savoir si la sous-page est fermée, nous pouvons utiliser l'objet window de la sous-page. Dans une sous-page, vous pouvez utiliser l'événement window.onunload pour détecter si la page a été fermée. Lorsque la page est fermée, un message peut être envoyé à la page parent.

Voici un exemple de code JavaScript pour une page enfant :

window.onunload = function() {
    window.opener.postMessage("childClosed", "*");
}

Dans cet exemple, lorsque la page enfant est fermée, elle envoie un message appelé "childClosed" à la page parent. Le paramètre du message est une chaîne, qui peut être n'importe quoi. Le deuxième paramètre est un paramètre source qui spécifie l'expéditeur du message.

Dans la page parent, vous pouvez ajouter un écouteur d'événement pour accepter les messages de la page enfant. Lorsqu'un message est reçu, les actions appropriées peuvent être effectuées. Voici un exemple de code :

window.addEventListener("message", receiveMessage, false);

function receiveMessage(event) {
    if (event.data === "childClosed") {
        // 子页面已关闭,执行相应操作
    }
}

Dans ce code, lorsqu'un message est reçu, une fonction appelée recevoirMessage est appelée. Dans cette fonction, vérifiez si le message est une chaîne "childClosed", et si tel est le cas, effectuez l'opération appropriée.

En général, pour utiliser JavaScript dans la page parent afin de savoir si la page enfant est fermée, nous devons ajouter un écouteur d'événement dans la page enfant pour envoyer le message, puis ajouter un écouteur d'événement dans la page parent pour recevoir le message et effectuez l’opération correspondante.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn