繁体   English   中英

如何在javascript中计算页面的总传输大小?

[英]How to calculate total transfer size of a page in javascript?

我正在尝试计算网页的总传输大小,如浏览器开发工具的“网络”选项卡中所示:

在此处输入图像描述

为了实现这一点,我正在尝试使用window.performance API。 但是,我从浏览器所说的内容中得到不同的值。

这是我计算总传输大小的脚本:

  const getTransferSize = () => {
    let totalTransferSize = 0;

    performance.getEntriesByType('resource').map((resource) => {
      const data = resource.toJSON();
      totalTransferSize += data.transferSize;
    });

    return totalTransferSize;
  };

  console.log(`${bytesSent / 1024 / 1024} MB`); // This returns 1.5MB instead of 2.7MB

知道为什么我没有获得完整的传输大小吗?

会有另一种方法来计算这个吗? 也许服务器端使用nodejs?

谢谢!

Javascript 没有对网络流量的完全访问权限。 因此,您的脚本无法捕获所有请求。 它只捕获与 javascript 相关的资源。 您可能会在 nodejs 方面找到您的解决方案。 这是nodejs的相关帖子。 node.js 按域计算带宽使用情况

好的,实际上我发现浏览器扩展包含在网络选项卡的传输大小中。 因此,对于任何有相同疑问的人,只需在私人导航中打开网站即可获得更准确的结果!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM