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

PHPz
Libérer: 2023-04-25 18:54:25
original
759 Les gens l'ont consulté

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");
Copier après la connexion

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", "*");
}
Copier après la connexion

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") {
        // 子页面已关闭,执行相应操作
    }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!