You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript计算页面总重量并在页面加载后展示

页面总重量(页面大小)前端JS获取方案

实现原理

浏览器原生提供的Performance API可以直接获取页面所有加载资源的体积数据,无需引入第三方依赖,统计结果和开发者工具Network面板的数值一致。

可用实现代码

window.addEventListener('load', () => {
  // 计算所有外部资源总大小
  const resourceList = performance.getEntriesByType('resource');
  let totalBytes = resourceList.reduce((sum, item) => sum + (item.transferSize || 0), 0);
  // 加上页面本身HTML文档的大小
  const navEntry = performance.getEntriesByType('navigation')[0];
  totalBytes += navEntry?.transferSize || 0;

  // 单位转换,支持B/KB/MB自适应显示
  let showSize;
  if (totalBytes < 1024) {
    showSize = `${totalBytes} B`;
  } else if (totalBytes < 1024 * 1024) {
    showSize = `${(totalBytes / 1024).toFixed(2)} KB`;
  } else {
    showSize = `${(totalBytes / 1024 / 1024).toFixed(2)} MB`;
  }

  // 插入到页面指定位置,示例中ID为page-size的DOM节点
  const sizeDom = document.querySelector('#page-size');
  if (sizeDom) sizeDom.textContent = `页面总重量:${showSize}`;
});

注意事项

  • 代码中transferSize代表资源经过网络传输的实际大小(包含gzip/br等压缩后的体积),如果需要统计资源解压后的实际占用体积,可以替换为decodedBodySize字段。
  • 跨域资源如果服务端没有配置Timing-Allow-Origin响应头,对应的体积字段会返回0,需要对应资源的服务端配置允许跨域获取性能数据才能正常统计。
  • 如果页面存在懒加载资源、异步加载的脚本/接口等动态内容,可以在对应内容加载完成后重新执行统计逻辑,更新总大小。

开发者工具参考示例

开发者工具查看页面重量示例图

内容的提问来源于stack exchange,提问作者Dan Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.17 10:54:04