ITPub博客

首页 > Linux操作系统 > Linux操作系统 > addSizes.js 自定标注链接文件的大小

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

原创 Linux操作系统 作者:imhades 时间:2008-09-03 13:29:18 0 删除 编辑

来源: OurJS.cn, 原文: http://www.ourjs.cn/show.php?id=448


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);

                    }

           });

     });

});


来源: OurJS.cn, 原文: http://www.ourjs.cn/show.php?id=448


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7979724/viewspace-441022/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-08-30

  • 博文量
    1
  • 访问量
    1333