javascript - 访问请求的页面大小 - Chrome 扩展

标签 javascript debugging google-chrome google-chrome-extension

我想将给定页面的大小写入控制台。请注意,如果页面经过 gzip 压缩,我想知道 gzip 压缩后的大小和解压后的大小。我还希望能够对任何 ajax 请求执行此操作。

如果有一种无需插件即可完成此操作的方法,那就太好了。

最佳答案

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders().toLowerCase();
var encoding = (headers.match(/Content-encoding\: (\w*)/i) || []).pop();
var unpacked_size = req.responseText.length;
var packed_size = -1;
if (['gzip','deflate','lzh','sdch'].indexOf(encoding) !== -1) {
    packed_size = parseInt((headers.match(/content-length\: (\d*)/i) || []).pop());
}

var result = {
    encoding: encoding,
    unpacked_size: unpacked_size,
    packed_size: packed_size,
}

关于javascript - 访问请求的页面大小 - Chrome 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16125578/

相关文章:

javascript - 在谷歌地图中添加本地镜像作为自定义标记

javascript - 循环遍历对象以执行最接近的高整数的数学运算?

visual-studio - 如何在 Visual Studio 中重新绑定(bind)除 F5 以外的 "Continue"命令的键?

javascript - contenteditable=false 在 contenteditable=true

android - Android Chrome 上的音频标签错误(?)

css - 翻转动画在 Chrome 中可以正常工作,但在 Safari 中不行

Javascript - 使用 document.execcommand 添加行现有表,但我犯了一些错误,但我不知道它在哪里

javascript - javascript Promise 中的 Resolve 函数的行为不一致

python - 将变量传递给函数时如何使用python timeit?

c - 声明的变量堆栈