代码之家  ›  专栏  ›  技术社区  ›  Chris

让浏览器在页面仍在加载时尽快进行Ajax调用

  •  2
  • Chris  · 技术社区  · 15 年前

    我在寻找如何让浏览器尽快启动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文件等。)

    1 回复  |  直到 15 年前
        1
  •  1
  •   steve_c    15 年前

    你可以使用 jQuery onavailable 插件,它将在页面上呈现元素后立即执行。您可以让它在页面上高高的元素呈现一次后执行。