如何用js获取html文档大小?

时间:2010-12-31 23:47:38

标签: javascript file dom size

如何获得运行js脚本的文档的实际文件大小(不是像素,以字节为单位)?该解决方案应该适用于所有主流浏览器。

3 个答案:

答案 0 :(得分:3)

//

function hrefSize(){
    try{
        var O= new XMLHttpRequest;
        O.open("HEAD", document.URL, false);
        O.send(null);
        if(O.status== 200){
            return O.getResponseHeader('Content-Length');
        }
        else return 0;
    }
    catch(er){
        return 0;
    }
}
alert(hrefSize()+' bytes');

答案 1 :(得分:1)

您可以通过ajax获取页面并将其长度作为字符串获取,但这将是次优的,因为它将触发另一个HTTP请求并且必须等待它。

答案 2 :(得分:0)

这与您仅使用 JS查看页面的完整来源非常接近:

document.documentElement.innerHTML

您可以使用返回的字符串作为文件大小的起点。如果需要考虑图像,则必须通过遍历DOM树并检查每个img元素来手动添加它们的大小。这可以通过jQuery或类似的库选择器轻松完成:

$("img").each(function() {...});

如果您需要进一步考虑Flash和Java等元素,则无法使用JS完全执行此操作。您必须运行AJAX请求并让服务器告诉您引用文件的大小。