addSizes.js 自定标注链接文件的大小

addSizes.js 自定标注链接文件的大小

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 <units.length; 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);

}

} );

} );

} );
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值