弹出窗口类似于模态窗口

时间:2008-09-19 22:21:33

标签: javascript window modal-dialog

我需要打开一个跨域内容的弹出窗口。我不应该允许用户访问或关闭父窗口,直到我完成子窗口。

Modal窗口的主要问题是停止在主窗口上运行的任何异步进程。例如,计时器和自动刷新不会在父窗口中工作。

有没有完美的方法来做上述说法。

提前致谢

6 个答案:

答案 0 :(得分:2)

怎么样而不是弹出一个实际的窗口,你只需要打开一个伪窗口...这是一个带有边框的div,如果你想要它可以拖动,并放置一个覆盖其余部分的大型半透明div页面的阻止和阻止它被点击。基本上做Lightbox如何工作

答案 1 :(得分:1)

您可以使用通过javascript构建的虚假窗口。几个小部件库都支持这一点。例如,请参阅ExtJS,它也支持模态窗口,但它可能对您的应用程序来说太过分了。对于jQuery,浏览plugins,如this one

答案 2 :(得分:0)

如果您正在使用ASP.Net,我认为Telerik可以控制此问题。在@Davr建议的实现中使用div。模态窗口无论如何都是不好的选择,因为并非所有浏览器都支持它们。

答案 3 :(得分:0)

除了Davr和Thoriann所说的,你可能需要进行Ajax调用以获取内容。由于Ajax通过浏览器调用强制执行相同域策略,因此您需要对您的OWN服务器进行Ajax调用,这反过来需要发出xmlhttp服务器到服务器请求来获取第三方内容服务器

答案 4 :(得分:0)

我觉得上述答案不适合以下原因..

JasonS解决方案 - 该应用程序是基于J2EE技术​​开发的。

其他解决方案 - 子窗口中启动的某些URL将通过标准API与父窗口进行通信。如果我使用div或其他内置的插件窗口,那么这些javascript API将失败。

答案 5 :(得分:0)

查看“BlockUI”中的Jquery插件。调用BlockUI时,父窗口不可访问。您可以在模态上执行您想要的操作,然后调用“UnblockUI”关闭弹出窗口并再次给予父控件。

皮特