我正在使用客户端的纯HTML CSS网站,该网站使用Knockoutjs与JSON数据集进行数据绑定。对于表,我使用了Datatables库。
我在Windows Azure网站上托管了该网站。
以下是网站的链接:http://bit.ly/(REMOVED由于它是自信的)
加载网站需要大约4秒钟,即使我已经将CDN用于常见的JS库。
它不应该有那么多的加载时间。我无法在这里找到罪魁祸首。我从4个不同的数据集中获取数据。它会影响性能吗?或者Windows Azure数据中心存在问题,从Azure服务器获取响应需要一段时间。 Azure是罪魁祸首吗?
您可以在上面给出的网站链接上检查页面加载时间。
任何帮助将不胜感激。
解决方案:
使用
代替使用同步调用$.getJSON(url, function(data){
//whole knockoutjs logic and bindings
}
答案 0 :(得分:1)
同步加载所有模型.js文件(以patientMedicationChart-Index.js
开头)(在该文件中设置async:false
)。这意味着浏览器必须等待加载每个脚本文件,然后再继续加载下一个脚本文件。
我计算了大约10个文件加载,就像你的演示一样,(对我来说)每个加载大约200ms(大约95%的200ms用于等待响应,这似乎也很慢;这可能是一个Azure的服务器问题)。因此,加载这些文件所花费的时间已经是2秒,并且只有在加载所有这些文件后,才会触发页面的ready
事件。
可能有理由想要同步加载这些文件,但事实上,这会导致整个页面的大部分加载时间。