参考这个问题,我怎样才能得到当前页面大小(以 kb 为单位),这个大小我将用来知道这个页面的连接速度。
问问题
17098 次
5 回答
6
如果您的意思只是 html,那么您可以使用 jQuery 来获取字符数(大多数情况下为字节,取决于编码)
$(document).ready(
function()
{
var pagebytes = $('html').html().length;
var kbytes = pagebytes / 1024;
}
);
这基本上计算了(包括)标签中包含的字符数。这将排除任何指定的 Doctype,但由于那总是静态的,因此您可以将 doctype 的长度添加到 pagebytes。
//编辑
看起来文档类型最终可能不是静态的。但没有它,它仍然应该足够准确。
于 2009-05-20T21:07:32.570 回答
5
我认为通过 Ajax 获取已知数据文件将是比测量当前页面更好的解决方案。为 Ajax 调用的开始和完成计时更容易。
于 2009-05-20T21:01:52.423 回答
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";
于 2012-04-15T14:29:24.383 回答
2
为了获取网络上页面的文件大小,我构建了一个 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>
于 2013-05-13T00:11:46.310 回答