我们在我们的RIA表示层使用Tibco通用接口。服务器端是.NET应用程序,它将数据公开为Web服务等,
到目前为止,我们已经能够在不使用任何ASP.NET控件的情况下开发演示文稿部分 - 使用Tibco GI库提供的所有标准组件。
目前应用程序的某些部分要求我们使用DevExpress控件进行UI交互 - 比如网格控件等,
我们认为可以将其纳入现有框架的最佳(最简单)方式是使用IFrame。唯一的问题是用户可以在同一页面中打开25到30个对话框,这将是尽可能多的IFrame。
从性能的角度来看,这没关系吗?在Tibco GI中,整个应用程序被加载到<div>
元素中。这意味着单个<div>
托管改建30 IFrame。还会从DOM释放内存中移除IFrame吗?
我不确定是否有任何替代方案(除了重写框架并使其成为服务器端控件之外)。
答案 0 :(得分:2)
这在很大程度上取决于您使用的浏览器。如果您不得不处理IE6,请考虑恐慌可能是一个合理的选择。使用它的DOM(包括iframe)泄漏内存就像一个带有免费额外奖励孔的筛子。至少如果你 - ahem - 关闭“tab”,绝对所有它所使用的内存都被释放,这比任何现代浏览器都要好。
如果您的目标是体面的浏览器,请不要担心太多。然而,最好的发现方法几乎总是尝试一下。然后你得到真正的数据。
尝试一下(通过编写两个简单的页面来模拟它,一个带有控件,一个带有30个iframe,其中包含另一个的副本)并查看结果。