我在寻找如何让浏览器尽快启动Ajax调用以处理网页的提示,最好是在网页完全下载之前。
这是我的大概动机:我有一个网页,比如说,需要5秒钟来加载。它调用一个需要10秒加载的Web服务。如果加载页面并按顺序调用Web服务,则用户必须等待15秒才能看到所有信息。但是,如果我能在5秒页面加载完成之前启动Web服务调用,那么至少有一些工作可以并行进行。理想情况下,我希望尽可能多的工作并行进行。
我最初的理论是,我应该将Ajax调用的javascript放在尽可能高的网页HTML源代码中(注意将其放在jquery.js包含之后,因为我使用
jquery ajax
)我也注意到不要将Ajax调用包装在
jquery ready event handler
. (我之所以提到这个,是因为就绪事件在许多jquery示例代码中都很流行。)
然而,Ajax调用似乎还没有像我希望的那样开始(至少从Google Chrome的“Timeline”功能判断),所以我想知道还有什么其他考虑。
可能有害的一件事是,Ajax调用返回到为原始网页提供服务的同一个Web服务器,因此我可能面临着返回到该计算机的HTTP连接的浏览器限制的危险?(HTML页面加载许多图像、CSS文件等。)