javascript - 网页中所有资产的总大小
问题描述
我正在运行一个基于 Google 协作平台的新网站。本网站的页面可能包含其他网页的图像和 iframe。通过使用performance.timing
API,我已经能够看到渲染页面需要多长时间:
window.performance.timing.responseEnd - window.performance.timing.navigationStart;
window.performance.timing.loadEventStart - window.performance.timing.domLoading;
我已将这些保存为小书签,因此我可以在任何网页上按小书签。
使用performance.memory
我想知道在任何特定网页上下载的所有资产的大小。我该怎么做呢?
解决方案
我相信使用PerformanceResourceTiming
是你最好的选择。根据文档:
该
PerformanceResourceTiming
接口支持检索和分析有关应用程序资源加载的详细网络时序数据。
因此,将所有这些工件的数据相加将得出站点上资产的总大小:
var res = performance.getEntriesByType('resource');
var totalSize = res.reduce((size, item) => {
size += item.decodedBodySize;
return size;
}, 0);
这将获取所有条目PerformanceResourceTiming
并将对decodedBodySize
属性求和。
推荐阅读
- sql - Postgresql 从包含数组的表中选择与数组中一样多的行
- excel - 如何在 VueJS 项目的 web-worker 中读取 Excel 文件
- c# - 服务堆栈 [必需] 注释不起作用
- node.js - 如何在 Heroku 上部署 NodeJs、Socket 应用程序而不会出现任何错误?
- gradle - 找不到 Gradle 子模块
- linux - 带有连字符和空格的 grep 正则表达式
- recursion - 在 ASM 和 LC3 中使用堆栈进行递归编程
- php - 将字符串从 ISO-8859-1 转换为 UTF8
- php - 按钮重定向到 php 文件
- ios - RxDataSources itemDeselected 没有被调用