簡體   English   中英

類似於模態窗口的彈出窗口

[英]Popup Window similar to Modal Window

我需要打開一個跨域內容的彈出窗口。 我不應該允許用戶訪問或關閉父窗口,直到我完成子窗口。

模態窗口的主要問題是停止在主窗口上運行的任何異步進程。 例如,計時器和自動刷新不會在父窗口中工作。

有沒有什么完美的方法可以做到上面所說的。

提前致謝

不如不彈出一個實際的窗口,你只需打開一個偽窗口......這是一個帶有一些邊框的 div,如果你願意,可以讓它可拖動,然后放置一個大的半透明 div 來覆蓋頁面的其余部分並阻止它被點擊。 基本上做一些像燈箱如何工作的事情

您可以使用通過 javascript 構建的假窗口。 幾個小部件庫對此提供支持。 例如,請參閱ExtJS ,它也支持模態窗口,但對您的應用程序來說可能有點過頭了。 對於 jQuery,瀏覽插件,就像這個

如果您在 ASP.Net 上工作,我認為 Telerik 可以對此進行控制。 按照@Davr 的建議在其實現中使用 div。 無論如何,模態窗口是一個糟糕的選擇,因為並非所有瀏覽器都支持它們。

除了 Davr 和 thoriann 所說的之外,您可能還需要進行 Ajax 調用來獲取內容。 由於通過瀏覽器的 Ajax 調用強制執行同域策略,因此您需要對您的 OWN 服務器進行 Ajax 調用,而后者又需要發出一個 xmlhttp 服務器到服務器請求以獲取第三方的內容服務器。

由於以下原因,我覺得上述答案不適合..

JasonS 解決方案 - 該應用程序是基於 J2EE 技術開發的。

其他解決方案 - 在子窗口中啟動的某些 URL 將通過標准 API 與父窗口通信。 如果我使用 div 或其他內置插件窗口,那么這些 javascript API 將失敗。

查看“BlockUI”中的 Jquery 插件。 當 BlockUI 被調用時,父窗口是不可訪問的。 您可以在模態上執行您想要的操作,然后調用“UnblockUI”來關閉彈出窗口並再次給予父控件。

皮特

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM