我想写一个给定页面大小的控制台。请注意,如果页面是gzip压缩,我想知道gzip压缩的大小和解压缩的大小。我也希望能够为任何ajax请求执行此操作。
如果有一种方法可以在没有插件的情况下做到这一点,那就太棒了。
答案 0 :(得分:-1)
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,
}