弹出窗口类似于模态窗口

时间:2020-03-06 14:28:06  来源:igfitidea点击:

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

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

有什么完美的方法可以做到以上所说的。

提前致谢

解决方案

怎么样,而不是弹出一个实际的窗口,而是打开一个伪窗口...那是一个有一些边框的div,如果需要的话可以拖动它,然后放置一个大的半透明的div来覆盖页面的其余部分。并阻止其被点击。基本上要做类似Lightbox的工作方式

如果我们正在使用ASP.Net,我认为Telerik对此有控制权。按照@Davr建议,在其实现中使用div。无论如何,模态窗口都是一个不好的选择,因为并非所有浏览器都支持模态窗口。

我们可以使用通过javascript构建的假窗口。几个小部件库对此提供了支持。例如,请参阅ExtJS,它也支持模式窗口,但对于应用程序可能会显得过大。对于jQuery,浏览这些插件,就像这样

除了Davr和thoriann所说的之外,我们可能还需要拨打Ajax来获取内容。由于通过浏览器进行的Ajax调用实施了相同域策略,因此我们将需要对OWN服务器进行Ajax调用,进而需要进行xmlhttp服务器到服务器的请求来获取第三方的内容服务器。

我认为上述答案由于以下原因而不合适。

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

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

签出" BlockUI"中的Jquery插件。调用BlockUI时,无法访问父窗口。我们可以在模式上执行所需的操作,然后调用" UnblockUI"以关闭弹出窗口并再次赋予父控件。

皮特