2

クロス ドメイン コンテンツへのポップアップ ウィンドウを開く必要があります。子ウィンドウの操作が完了するまで、ユーザーが親ウィンドウにアクセスしたり閉じたりすることを許可しないでください。

モーダル ウィンドウの主な問題は、メイン ウィンドウで実行されている非同期プロセスが停止することです。たとえば、タイマーと自動更新は親ウィンドウでは機能しません。

上記を行うための完璧な方法はありますか。

前もって感謝します

4

6 に答える 6

2

How about instead of popping up an actual window, you just open a pseudo-window...that is a div with some borders, make it draggable if you want, and place a large semi-transparent div that covers the rest of the page and blocks it from being clicked on. Basically do something like how Lightbox works

于 2008-09-19T22:40:22.477 に答える
1

javascriptを介して構築された偽のウィンドウを使用できます。いくつかのウィジェットライブラリがこれをサポートしています。たとえば、ExtJSを参照してください。これは、モーダルウィンドウもサポートしていますが、アプリケーションにとってはやり過ぎかもしれません。jQueryの場合は、次のようなプラグインを参照します

于 2008-09-19T22:55:55.687 に答える
0

上記の答えは、以下の理由で当てはまらないと思います。

JasonSソリューション-アプリケーションはJ2EEテクノロジーで開発されています。

その他の解決策-子ウィンドウで起動されたURLの一部は、標準APIを介して親ウィンドウと通信します。divまたは他の組み込みのプラグインウィンドウを使用している場合、それらのjavascriptAPIは失敗します。

于 2008-09-20T22:11:51.010 に答える
0

「BlockUI」のJqueryプラグインを確認してください。BlockUIが呼び出されると、親ウィンドウにアクセスできなくなります。モーダルで必要な操作を実行してから、「UnblockUI」を呼び出してポップアップを閉じ、親に再度制御を与えることができます。

ピート

于 2009-04-07T22:54:49.427 に答える
0

ASP.Net で作業している場合、Telerik はこれを制御できると思います。@Davr が提案したように、その実装で div を使用します。モーダル ウィンドウは、すべてのブラウザーでサポートされているわけではないため、いずれにしても不適切なオプションです。

于 2008-09-19T22:49:49.337 に答える
0

In addition to what Davr and thoriann said, you will likely need to make an Ajax call to grab the content. Since Ajax calls via the browser enforce the same-domain policy, you will need to make an Ajax call to your OWN server, which in-turn will need to make an xmlhttp sever-to-server request to grab the content the third-party server.

于 2008-09-19T23:31:10.530 に答える