ページからポップアップを開いた場合、別のページからそのポップアップを閉じる方法はありますか?
Page1->ポップアップを作成して開きます。
Page2->ポップアップを閉じます。
ページからポップアップを開いた場合、別のページからそのポップアップを閉じる方法はありますか?
Page1->ポップアップを作成して開きます。
Page2->ポップアップを閉じます。
ナビゲーションでポップアップウィンドウへの参照を保持できないため、これを行うことはできません。ただしpushState
、親ウィンドウの URL を変更して実際にナビゲートしない場合は、それを行うことができます。メソッドを使用するだけで、close()
そのポップアップウィンドウを閉じることができます
他のオプションは、サーバー側のスクリプトを使用して、ポップアップウィンドウに閉じる信号を送信することです
適切にコーディングされたブラウザーは、サンドボックス環境で各ページを実行する必要があると思います。そのため、1 つのページは、他のページが存在することや閲覧されていることを認識してはならず、DOM やそれらが実行する JavaScript に対して何を行うかは言うまでもありません。
したがって、2 つの異なる Web ページ (またはブラウザーに 2 回読み込まれた同じページ) からの通信を可能にするソリューションは、外部メカニズムを経由する必要があります。同じブラウザ内で同じページが 2 回読み込まれた場合、それらは を共有する必要localStorage
があるため、メッセージを送信する方法として使用できます。
そうでない場合は、いつでも外部 Web サービスを利用してこれを行うことができます。ポップアップを開くページは、それを閉じる必要があるかどうかを確認するためにポーリング サービスを実装する必要があり、ポップアップを閉じようとするページは、サーバーにそれを要求する AJAX 呼び出しを行い、他のページがプルするのを待つ必要があります。結果。
1 行の JavaScript ほど簡単ではありませんが、本当にこの機能が必要な場合は、実装できます。