我的一个应用程序使用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/