如何获得运行js脚本的文档的实际文件大小(不是像素,以字节为单位)?该解决方案应该适用于所有主流浏览器。
答案 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请求并让服务器告诉您引用文件的大小。