0

我正在开发我的客户的纯 HTML CSS 网站,该网站使用 Knockoutjs 与 JSON 数据集进行数据绑定。对于表,我使用了 Datatables 库。

我在 Windows Azure 网站上托管了该网站。

这是网站的链接:http : //bit.ly/(已删除,因为它是机密的)

即使我使用 CDN 处理常见的 JS 库,加载网站也需要大约 4 秒。

它不应该有那么多的加载时间。我在这里找不到罪魁祸首。我正在从 4 个不同的数据集中获取数据。对性能有影响吗?或者 Windows Azure 数据中心有问题,需要一段时间才能从 Azure 服务器获得响应。Azure 是罪魁祸首吗?

您可以在上面给出的网站链接上检查页面加载时间。

任何帮助,将不胜感激。

解决方案 :

而不是使用同步调用,使用

$.getJSON(url, function(data){
 //whole knockoutjs logic and bindings
}
4

1 回答 1

1

所有模型 .js 文件(以 开头patientMedicationChart-Index.js)都是同步加载的(async:false在该文件中设置)。这意味着浏览器必须等待每个脚本文件加载完毕才能继续加载下一个。

我为您的演示计算了大约 10 个像这样加载的文件,(对我而言)每个需要大约 200 毫秒来加载(大约 200 毫秒的 95% 用于等待响应,这似乎也相当慢;这可能是服务器问题天蓝色)。所以 10 次已经是 2 秒加载这些文件了,只有在加载完所有文件后才会ready触发页面的事件。

想要同步加载这些文件可能是有原因的,但事实上,它会导致整个页面加载时间的很大一部分。

于 2013-04-01T06:42:19.390 回答