【问题标题】:Performance difference between iframes vs ajax (JSON)iframe 与 ajax (JSON) 之间的性能差异
【发布时间】:2012-12-06 04:21:19
【问题描述】:

当我通过 iframe 或通过 ajax 调用检索 json 数据并让 javascript 将其放入 html 设计中加载格式化元素时,是否存在性能差异?我倾向于看看主要网站是如何做的,我注意到 ebay 使用了很多 iframe。主页上有四个 iframe,其中一个很明显,因为它是广告。

此外,在 iframe 中我无法访问父级的 javascript 文件,尽管它位于同一个域中,因此在 iframe 中我必须再次加载 .js 文件。我想知道这是否是 XSS 方面的技术问题或安全预防措施,这仍然很奇怪,因为它在同一个域中......一个例子是 jquery .js 分发文件,我必须在父级和 iframe 中加载它.浏览器会使用父级的缓存版本还是再次下载整个 .js 文件?

【问题讨论】:

  • Ajax 可以更快,特别是如果您返回 json 数据类型。使用iframe,您正在加载一个具有更多开销的完整页面。

标签: javascript browser


【解决方案1】:

这实际上是一些问题。

首先我将介绍整体速度: 简短的回答:这取决于。这里有很多因素。 Ajax 方法 - 从服务器加载数据可能更快,在客户端显示更慢。 IFrame 方法 - 从服务器加载可能更慢,显示客户端更快。

我认为将 iframe 用于广告的趋势更多地与安全问题和整体设计要求有关。

在 iframe 中,如果它从与父级相同的域加载,您应该能够执行 parent.$parent.jQuery。见this question

缓存在其中引入了一个额外的层。缓存可能会发生,尽管它实际上取决于浏览器设置或代理设置。

【讨论】:

  • 谢谢,通常我使用 ajax json 但对于一个元素 ebay 的源代码让我更喜欢使用 iframe。我现在将其更改为 ajax 以提高速度。
【解决方案2】:

这完全取决于数据/html 的来源和来源。

如果 html 内容来自 cdn 网络或其他域,并且您只想显示链接的数据以及其他内容的所有工作功能,那么 iframe 在某些时候是好的。

虽然要快速加载数据并提高性能,但我认为 ajax 功能会更可取。

【讨论】:

    猜你喜欢
    • 2020-08-23
    • 2012-02-11
    • 1970-01-01
    • 2019-09-16
    • 2018-10-28
    • 1970-01-01
    • 2010-11-21
    • 2012-05-26
    相关资源
    最近更新 更多