addSizes.js 是一段JS代码,用于从一个页面里链接的一些大的文件,并自动在它们的链接旁边标注文件大小。它的作者是 Nathalie Downe,应用了Simon Willison 的 json-head App Engine迷你服务。
使用它,你的链接不需要额外的代码,它自动会在页面里找到你的链接并更改为这样的格式,如”你的链接(pdf 2.8 MB)”。的确很好用!
JAVASCRIPT.:
jQuery(function($){
$('a[href$=".pdf"], a[href$=".doc"], a[href$=".mp3"], a[href$=".m4u"]').each(function(){
// looking at the href of the link, if it contains .pdf or .doc or .mp3
var link = $(this);
var bits = this.href.split('.');
var type = bits[bits.length -1];
var url= "http://json-head.appspot.com/?url="+encodeURI($(this).attr('href'))+"&callback=?";
// then call the json thing and insert the size back into the link text
$.getJSON(url, function(json){
if(json.ok && json.headers['Content-Length']) {
var length = parseInt(json.headers['Content-Length'], 10);
// divide the length into its largest unit
var units = [
[1024 * 1024 * 1024, 'GB'],
[1024 * 1024, 'MB'],
[1024, 'KB'],
[1, 'bytes']
];
for(var i = 0; i
var unitSize = units[i][0];
var unitText = units[i][1];
if (length>= unitSize) {
length = length / unitSize;
// 1 decimal place
length = Math.ceil(length * 10) / 10;
var lengthUnits = unitText;
break;
}
}
// insert the text directly after the link and add a class to the link
link.after(' (' + type + ' ' + length + ' ' + lengthUnits + ')');
link.addClass(type);
}
});
});
});来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7979724/viewspace-441022/ ,如需转载,请注明出处,否则将追究法律责任。