我在AngularJS中有一个SPA,可以将不同的模板加载到一个SPA中。
阅读此https://developers.google.com/web/fundamentals/performance/critical-rendering-path/measure-crp?hl=en后,我在SPA的主体中包含了一个onload =“measureCRP()”,基本上就是这样的
<body onload="measureCRP()">
<div ng-app="app">
<div ng-view></div>
</div>
</body>
我每次加载页面时都可以看到构建DOM所花费的时间以及页面的总加载时间。
但是,当然,当视图更新时,这不会更新。我想在所有模板中包含类似的东西,但它似乎不起作用。
关于如何做到这一点的任何想法?
EDIT。
我尝试按照其他帖子中的建议添加onload Angular js ng-view rendered event
<body>
<div ng-app="app" ng-controller="SpaController as spa">
<div ng-view onload="spa.measureCRP()"></div>
</div>
</body>
但是虽然函数measureCRP()再次执行,但每次显示的值都完全相同,所以我的猜测是收集的时间戳保持不变。 感谢
答案 0 :(得分:0)
这是SPA的一个问题。 &#34;真实&#34;导航只发生一次,所有其他导航都是通过AJAX框架进行的。这意味着当DOM完成时onLoad将触发,但这并不意味着显示了某些内容。
我认为此链接可以帮助您
https://www.soasta.com/blog/lessons-learned-web-performance-monitoring-single-page-applications/
再见