0

我正在考虑使用 jQuery Ajax 加载方法。在某些情况下,我要加载的 html 非常大。我想知道浏览器是否已经简化了幕后的流程,或者我应该在从 jQuery 调用 .load() 之前缩小和/或压缩 html?如果有,是哪一个?或两者?在这种情况下是否有执行缩小和/或压缩的标准方法?

更新

这有道理吗:

我要从服务器检索的数据是静态的。假设我有苹果、橙子、金橘和木瓜的数据,但这些数据都没有“即时”更改(仅当我更新网站时)。

因此,我最好通过 jQuery 以这种方式将数据作为 Json 获取:

$.getJson('kumquats')

(......然后,当然,处理返回的结果)......或者......只需发回不需要按摩的html,因为“金橘”总是会发回完全相同的html,“橙子" 将始终是相同的 html 等。

那么,在后一个选项中,我会做这样的事情(jQuery 伪代码):

$('#MainContent").html($.load("\Content\Kumquat.htm"));

总而言之,我可以通过网络发送所有完整的 html,并用一些额外的位阻塞管道,或者我可以发送一个不太详细的 datta (json) 表示,然后在.getJson() 回调函数,将其转换为html。在性能方面,它有很大的不同吗?顺便说一句,这不是“敏感”数据——谁看到它并不重要,因为它在以太中飞速掠过。

4

2 回答 2

1

我想知道浏览器是否已经简化了幕后的流程

浏览器无法控制服务器在其响应中发送多少数据。

或者我应该在从 jQuery 调用 .load() 之前缩小和/或压缩 html?

你打电话load给客户。服务器必须对 HTML 进行任何缩小或压缩。

在这种情况下是否有执行缩小和/或压缩的标准方法?

压缩通常由 gzip 编码处理。如何设置取决于您的服务器和/或生成内容的服务器端编程语言。

我不知道执行缩小的任何标准方法。我曾经使用 HTML Tidy 来做到这一点。

于 2013-06-19T15:12:45.067 回答
1

浏览器在下载之前无法缩小 HTML。您想要缩小的唯一原因是通过减小下载的文件大小来减少下载时间,所以这是违反直觉的。

您的服务器需要缩小和/或压缩。默认情况下它可能已经在压缩(mod_deflate例如在 apache 上)。根据您使用的服务器端技术,可以通过多种方式缩小 HTML。可能有一个库,或者您可以使用第三方 CDN 为您缩小和提供内容。

于 2013-06-19T15:13:05.867 回答