3

我们为 RIA 表示层使用 Tibco 通用接口。服务器端是 .NET 应用程序,它将数据公开为 Web 服务等,

到目前为止,我们已经能够在不使用任何 ASP.NET 控件的情况下开发演示部分 - 使用 Tibco GI 库提供的所有标准组件。

目前,应用程序的某些部分要求我们使用 DevExpress 控件进行 UI 交互 - 例如网格控件等,

我们认为可以将其合并到现有框架中的最好(最简单的)方式是拥有 IFrame。唯一的问题是用户可以在同一页面中打开 25 到 30 个对话框,而且 IFrame 的数量也一样多。

从性能的角度来看,这可以吗?在 Tibco GI 中,整个应用程序被加载到一个<div>元素中。这意味着单个<div>托管 aleast 30 个 IFrame。另外,从 DOM 中删除 IFrame 会释放内存吗?

我不确定是否有任何替代方案(除了重写框架并将其全部设为服务器端控件)。

4

1 回答 1

2

这很大程度上取决于您使用的浏览器。如果您必须处理 IE6,请考虑恐慌可能是一个合理的选择。使用它的 DOM(包括 iframe)会像带有免费额外奖励孔的筛子一样泄漏内存。至少如果你——咳咳——关闭“选项卡”,它使用的所有内存绝对会被释放,这比任何现代浏览器都要好。

如果您的目标是体面的浏览器,请不要担心。然而,最好的发现方法几乎总是尝试一下。然后你得到真实的数据。

尝试一下(或许可以通过编写两个简单的页面来模拟它,一个带有控件,一个带有 30 个包含另一个副本的 iframe)并查看结果。

于 2011-10-15T14:06:40.183 回答