0

私はこれに1週間苦労していて、どこに行っても壁にぶつかっているようです...だからここで私はこれについての助けを探しています....それが可能であることを願っています。

私は2つのポップアップウィンドウを並べて表示する必要があります....心配しないでください...迷惑なものではなく、ユーザーの要求に応じて表示されます

わかりました...要点まで。

私がしようとしているのは、2つのポップアップを開き、特定のページにリダイレクトするリンクを自分のサイトに配置することです。

ところで:両方のポップアップは同じドメインとリンク上にあります。

そのビットは私が推測するのに十分簡単ですが、ここでは落とし穴と理由をより詳細に概説しています...私はこれについてはかなり離れているかもしれませんので、より良い方法があるかどうか教えてください。

OK ..これが私がやろうとしていることとその理由です:

まず、自分のサイトにリンクがあります。

クリックすると、次のポップアップが開きます。top:0 left:0 width:screen.width height:100(これにより、新しいウィンドウの内側の高さが100pxになります)menubar = 0、toolbar = 0、location = 0、resizable = 0、スクロールバー= 0、ステータス= 0

今..2つのポップアップを互いに正確に上下に並べたいので、最初のポップアップの真下に2番目のポップアップを配置する必要があります...しかし、アドレスバーとブラウザのために余分な高さがあるためです違いなどouter.heightが必要です。

だから私がしたのは、outer.heightを取得し、成功メッセージとともにオープナー(ポップアップを起動した元のページ)に送り返すスクリプトをpopup.1に配置することでした

次に、そのouter.heightを使用して、2番目のポップアップを次のように起動する必要があります。top:[popup.1の外側の高さ] left:0 width:screen.width height:screen.height-[popup.1の外側の高さ。 ] menubar = 1、toolbar = 1、location = 1、resizable = 1、scrollbars = 1、status = 1

今...理論的には、これにより、画面を完全に覆う2つのポップアップが表示され、popup.2はpopup.1の真下にあり、スペースやクロスオーバーはありません。

次に、成功メッセージをオープナー/元のブラウザーウィンドウに送り返し、元のページを別のページ(スプラッシュページ)にリダイレクトするために、popup.2(それを起動したメインページと同じ)が必要です。オープナーと同じなので、オリジナルなのかポップアップなのかを確認して、このメッセージを送信する必要があると思います。明らかに、オリジナルはこのメッセージを送信する必要はありません。

最後に、popup.2を閉じると、オープナーにメッセージが返され、オープナーが元のネギのページに戻るようにする必要があります。繰り返しになりますが、元のユーザーはこれを行う必要がないため、チェックを行う必要があります。

これはうまくいくでしょうか?クロスブラウザ互換になりますか?これを行うためのより良い方法はありますか?

これがすべて意味をなし、誰かが助けてくれることを願っています...混乱していて機能しないので、現在のコードを投稿しません...私のコンセプトが大丈夫だといいのですが...教えてください。コードの助けをいただければ幸いです。

あなたがそれが役立つと思うなら、どんなライブラリも使って幸せです。私はこれのためにjqueryで少し遊んだのですが、それでもうまくいきませんでした。

これが不可能な場合は、誰かが私に教えてください。そうすれば、私はこれを再考することができます。

どんなアドバイスも大歓迎です

乾杯C

4

1 に答える 1

1

やりたいことを正確に実行して、すべてのブラウザ/オペレーティングシステム/環境で同じにする方法はありません。

代わりに私が提案するのは、現在のページに2つのdivを表示し(コンテンツが別のサーバーからのものである場合は、divにiframeを配置できます)、両方の位置を絶対にし、zindexを増やして常に一番上になるようにします。そうすれば、画面上の「ポップアップ」の位置を完全に制御できます。

ユーザーがリンクをクリックしたときにURLを変更する必要がある場合は、次のページにこれらの「ポップアップ」を表示する必要があることを示すクエリ文字列をリンクにいつでも配置できます。

于 2010-02-19T03:42:33.930 に答える