1

ホームページに 1 つのアイコン (open など) があります。このアイコンをクリックすると、1 つの子ウィンドウが開き、そのホームページのアイコンも「閉じるアイコン」に変更されます。このポップアップ ウィンドウを閉じると、アイコンはホームページの前のアイコン (つまり、開くアイコン) と同じになります。同じページにとどまるとうまくいきます。

しかし、ホームページから次のページにリダイレクトすると、ページ全体がリロードされます。また、ポップアップ ウィンドウを開いても、デフォルトの画像 (開くアイコン) が表示されます。

今私の要件は次のとおりです。

  1. ページのリダイレクト時に、ポップアップ ウィンドウに基づいて画像をロードする必要があります。つまり、ポップアップ ウィンドウが開いている場合は、閉じるアイコンが表示されます。それ以外の場合は、開いているアイコンが表示されます。

  2. ページが更新されるか、別のページにリダイレクトされると、ポップアップ ウィンドウの参照が削除されます。次に、リダイレクトページでそのポップアップウィンドウの参照を取得するにはどうすればよいですか。

  3. ブラウザの子ウィンドウの数を数える方法

編集:

次の解決策を試しました。

  1. ポップアップ ウィンドウを開くときに Cookie を設定し、そのポップアップ ウィンドウを閉じるたびにその Cookie をリセットします。しかし問題は、ページのリダイレクト時にポップアップ ウィンドウを閉じると、ページがまだ処理中であるため、Cookie が以前の値にリセットされないことです。

  2. セッション変数にも同じ問題があります

私を助けてください。

4

2 に答える 2

1

開いたり閉じたりするときに、Cookie またはセッション変数を設定します。このようにして、新しいリクエスト中にポップアップウィンドウの状態を覚えておくことができます

于 2012-08-10T10:42:07.327 に答える
0

あるページから次のページに移動すると、ポップアップ ウィンドウへの参照が失われます。ただし、ポップアップ ウィンドウはメイン ウィンドウへの参照を失いません。window.opener は、ページが変更された場合でも、それを開いたウィンドウを常に指します。この事実を利用して、ナビゲーション イベント後にウィンドウ間の通信を再確立します。イベントをリッスンできないと思うので、間隔関数を使用してメイン ウィンドウをプローブする必要があるかもしれません。

于 2012-08-10T11:23:42.703 に答える