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 サイトの他の関連記事を参照してください。