ホームページ  >  記事  >  ウェブフロントエンド  >  JavaScriptで親ページ内の子ページのステータスを取得する方法

JavaScriptで親ページ内の子ページのステータスを取得する方法

PHPz
PHPzオリジナル
2023-04-25 18:19:08761ブラウズ

Web 開発では、親ページが子ページを開くというシナリオが一般的に使用されます。子ページを閉じるときは、親ページの更新など、いくつかの操作を実行する必要があります。 JavaScript を使用して Web アプリケーションを作成する場合、対応する操作を実行できるように、親ページ内の子ページのステータスを取得する方法を知る必要があります。

JavaScript では、ウィンドウ オブジェクトを使用してページを開いたり閉じたりできます。新しいページを開くときは、window.open() メソッドを使用できます。このメソッドは 3 つのパラメータを受け取ります。最初のパラメータは開くページのアドレス、2 番目のパラメータはウィンドウの名前、3 番目のパラメータはウィンドウの特性です。

たとえば、次のコードは新しいウィンドウを開き、ウィンドウ名を「myWindow」に設定します。

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

サブページが閉じているかどうかを取得したい場合は、サブページのウィンドウを使用できます。物体。サブページでは、window.onunload イベントを使用して、ページが閉じられたかどうかを検出できます。ページが閉じられると、親ページにメッセージを送信できます。

次は、子ページの JavaScript コードの例です。

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

この例では、子ページが閉じられると、「childClosed」という名前のメッセージが親ページに送信されます。メッセージのパラメータは文字列であり、何でも構いません。 2 番目のパラメーターは、メッセージの送信者を指定するソース パラメーターです。

親ページでは、子ページからメッセージを受信するイベント リスナーを追加できます。メッセージを受信すると、適切なアクションを実行できます。サンプル コードは次のとおりです。

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

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

このコードでは、メッセージが受信されると、receiveMessage という関数が呼び出されます。この関数では、メッセージが「childClosed」文字列であるかどうかを確認し、そうであれば適切な操作を実行します。

一般に、親ページで JavaScript を使用して子ページが閉じているかどうかを取得するには、子ページにイベント リスナーを追加してメッセージを送信し、次に親ページにイベント リスナーを追加する必要があります。ページにアクセスしてメッセージを受信し、適切なアクションを実行します。

以上がJavaScriptで親ページ内の子ページのステータスを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。