我的一个应用程序使用PJAX样式导航,这意味着我们不是使用加载整个页面,而是使用AJAX加载部分页面,然后使用HTML5历史记录/ pushState API更新浏览历史记录。

以前,我使用window.onload事件来衡量最终用户页面的加载时间,而我希望能够在PJAX页面加载时记录这些时间,问题是在加载PJAX之后不会触发此事件。

我可以访问pjax:end事件,该事件在PJAX请求完成后便会触发,但是会在所有资产下载完成之前触发该事件。我希望能够记录下载页面所需的完整时间,包括下载额外(图像/脚本)资产的时间。

这可能吗?我是否缺少回调或某种魔术,可以让我测量整个请求时间?

最佳答案

我意识到我只需要等待图像(而不是脚本)。
一个朋友向我指出了这个jQuery插件:https://github.com/alexanderdickson/waitForImages

我正在使用以下代码来触发onload事件:

$('#main-inner').waitForImages(function() {
  window.onload();
});

关于javascript - PJAX请求完成并下载 Assets 后的回调,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12345781/

10-11 06:04