Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get current page size in KB using just javascript?

Referring to this question , how can i get the current page size in kb, this size i will use to know the connection speed for this page.

like image 640
Amr Elgarhy Avatar asked May 20 '09 20:05

Amr Elgarhy


3 Answers

Unless your page has size in megabytes, the result will be meaningless.

This is because time needed to connect, send request, and wait for server to send reply back is quite large compared to time required to download the page, and in addition to that TCP/IP has slow start.

You also have to take into account caches, proxies and number of parallel connections that browser will make (e.g. may prioritize download of scripts and styles, making page download time appear slow).

like image 77
Kornel Avatar answered Sep 21 '22 08:09

Kornel


if you mean just the html then you can use jQuery to do get the number of characters (bytes in most cases, depending on the encoding)

$(document).ready(
    function()
    {
        var pagebytes = $('html').html().length;
        var kbytes = pagebytes / 1024;
    }
);

this basically counts number of characters contained within (including) tag. that will exclude any Doctype specified, but since that would be static always you can add length of doctype to pagebytes.

//Edit

looks like doctype in the end may not be static. but without it, it still should be accurate enough.

like image 6
Michal M Avatar answered Sep 19 '22 08:09

Michal M


I think grabbing a known data file via Ajax would be a better solution than measuring the current page. It's easier to time the start and completion of an Ajax call.

like image 5
Diodeus - James MacFarlane Avatar answered Sep 18 '22 08:09

Diodeus - James MacFarlane