2008-09-19 78 views
2

我需要打开一个弹出窗口以跨域内容。我不应该允许用户访问或关闭父窗口,直到我完成了Child窗口。类似于模态窗口的弹出窗口

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

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

在此先感谢

回答

2

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

0

我认为如果您正在使用ASP.Net Telerik有这个控制。 @Davr建议在其实现中使用div。无论如何,莫代尔窗口是一个不错的选择,因为它们在所有浏览器上都不被支持。

1

您可以使用通过JavaScript构建的假窗口。几个小部件库有这方面的支持。例如,请参阅ExtJS,它也支持模式窗口,但它可能会为您的应用程序过度使用。对于jQuery,请浏览plugins,如this one

0

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

0

我觉得上面的答案不会适合,原因如下..

JASONS的解决方案 - 应用程序在J2EE技术​​开发。

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

0

查看“BlockUI”中的Jquery插件。当调用BlockUI时,父窗口不可访问。你可以在模态上做你想要的,然后调用“UnblockUI”来关闭弹出窗口并再次给出父控制。

皮特