0

ページからポップアップを開いた場合、別のページからそのポップアップを閉じる方法はありますか?

Page1->ポップアップを作成して開きます。

Page2->ポップアップを閉じます。

4

2 に答える 2

2

ナビゲーションでポップアップウィンドウへの参照を保持できないため、これを行うことはできません。ただしpushState、親ウィンドウの URL を変更して実際にナビゲートしない場合は、それを行うことができます。メソッドを使用するだけで、close()そのポップアップウィンドウを閉じることができます

他のオプションは、サーバー側のスクリプトを使用して、ポップアップウィンドウに閉じる信号を送信することです

于 2013-01-18T01:26:17.810 に答える
1

適切にコーディングされたブラウザーは、サンドボックス環境で各ページを実行する必要があると思います。そのため、1 つのページは、他のページが存在することや閲覧されていることを認識してはならず、DOM やそれらが実行する JavaScript に対して何を行うかは言うまでもありません。

したがって、2 つの異なる Web ページ (またはブラウザーに 2 回読み込まれた同じページ) からの通信を可能にするソリューションは、外部メカニズムを経由する必要があります。同じブラウザ内で同じページが 2 回読み込まれた場合、それらは を共有する必要localStorageがあるため、メッセージを送信する方法として使用できます。

そうでない場合は、いつでも外部 Web サービスを利用してこれを行うことができます。ポップアップを開くページは、それを閉じる必要があるかどうかを確認するためにポーリング サービスを実装する必要があり、ポップアップを閉じようとするページは、サーバーにそれを要求する AJAX 呼び出しを行い、他のページがプルするのを待つ必要があります。結果。

1 行の JavaScript ほど簡単ではありませんが、本当にこの機能が必要な場合は、実装できます。

于 2013-01-18T01:27:23.993 に答える