参考this question,如何以kb获取当前页面大小,我将使用此大小来了解此页面的连接速度。
答案 0 :(得分:7)
除非您的页面大小以兆字节为单位,否则结果将毫无意义。
这是因为与下载页面所需的时间相比,连接,发送请求和等待服务器发送回复所需的时间为quite large,此外TCP / IP还有{{3} }。
您还必须考虑浏览器将使用的缓存,代理和并行连接数(例如,可以优先下载脚本和样式,使页面下载时间变得缓慢)。
答案 1 :(得分:5)
我认为通过Ajax获取已知数据文件比测量当前页面更好。更容易计算Ajax调用的开始和完成时间。
答案 2 :(得分:5)
如果你只是指html那么你可以使用jQuery来获取字符数(大多数情况下是字节,取决于编码)
$(document).ready(
function()
{
var pagebytes = $('html').html().length;
var kbytes = pagebytes / 1024;
}
);
这基本上计算(包括)标签中包含的字符数。这将排除指定的任何Doctype,但由于这将是静态的,因此您可以将doctype的长度添加到pagebytes。
<强> //修改
看起来像doctype到底可能不是静态的。 但没有它,它仍然应该足够准确。
答案 3 :(得分:4)
有一个非标准属性仅适用于IE - document.fileSize MDN MSDN。它以字节为单位返回html页面的大小。
或者您可以获得content-length
标题
var request = new XMLHttpRequest();
request.open('GET', document.location, false);
request.send();
var size = request.getAllResponseHeaders().toLowerCase().match(/content-length: \d+/);
document.getElementById("size").innerHTML = size + " bytes";
答案 4 :(得分:1)
为了获取网页上的页面文件大小,我构建了一个javascript书签来完成这项工作。它会以kb的形式提醒您所在页面的大小。不确定它是否可以帮助提高连接速度。
如果要复制文件大小,请将警报更改为提示。
这是警报的书签代码。
<a href="javascript:a=document.getElementsByTagName('HTML')[0].outerHTML;b=a.length/1024;c=Math.round(b);alert(c+' kb');">Doc Size</a>
这是提示的小书签代码。
<a href="javascript:a=document.getElementsByTagName('HTML')[0].outerHTML;b=a.length/1024;c=Math.round(b);prompt('Page Size',c+' kb');">Doc Size</a>
中查看此操作