Ben*_*ton 6 javascript filesize
如果Web服务器上文件的文件大小(例如http://www.mysite.com/myfile.js)大于0字节,是否可以继续使用javascript进行检查?如果是,则返回true或false值?
提前致谢!
jos*_*736 12
从理论上讲,您可以使用XHR发出HTTP HEAD请求并检查Content-Length响应头.
一个HEAD要求是相同的常规GET要求,除了服务器不能返回的实际内容.换句话说,服务器回复您尝试GET过资源时的标题,但随后停止并且不发送文件.
然而,一些西弗斯响应到HEAD与请求Content-Length的报头0,而不管文件的实际大小无关.其他人回应文件的大小.
为了实现这一点,您必须祈祷您的服务器将文件的实际大小返回给HEAD请求.
如果是这样,那么获得该值很容易:
$.ajax('/myfile.js', {
type: 'HEAD',
success: function(d,r,xhr) {
fileSize = xhr.getResponseHeader('Content-Length');
}
});
Run Code Online (Sandbox Code Playgroud)
需要注意的是的jsfiddle的服务器总是返回0我们的时候HEAD /,即使/是16916字节.
要求的类型("POST"或"GET"),默认为"GET".注意:此处也可以使用其他HTTP请求方法,例如PUT和DELETE,但并非所有浏览器都支持它们.
我刚刚在IE 6-10,Firefox 3.6-7,Opera 9-11和Chrome中测试了这个小提琴,并且每个浏览器都正确地发出了HEAD请求,所以我不担心这个模糊的不兼容性声明.更值得关注的是您的服务器如何响应.
| 归档时间: |
|
| 查看次数: |
6983 次 |
| 最近记录: |