deeplus+

  • jQuery

  • Tips

jQueryでファイルサイズを自動で取得するAuto Filesize T72

ページ内の指定箇所のリンク先のファイルサイズを取得して、テキストで容量を追記するajaxを利用したjQueryプラグインです。

参照元:

Auto Filesize T72

IE8+ / jQuery 2.2(1.12) 動作確認

設置方法

いつも通りjQuery本体を読み込みます。

<!--[if lt IE 9]>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.2/jquery.min.js"></script>
<![endif]-->

<!--[if gte IE 9]><!-->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<!--<![endif]-->

本体の読み込みと実行

デフォルトの設定ではpdfのみ容量を表示するようになっています。取得するファイルの拡張子をextensionで追加すると他の形式にも対応するようです。下記では5つの拡張子ファイルに対応しています。

<script src="auto_filesize-1.0.7.min.js"></script>
<script>
  $(document).ready(function() {
    $(".auto_filesize").auto_filesize({
      //ファイルを取得する拡張子を指定
      'extension' : 'jpg,png,pdf,docx,xlsx',
      //サイズを記述する要素のクラス指定
      'size_part' : 'size_part',
      //単位の設定。1,000KBを超えた時にMBを使用
      'unit' : 'MB'
    });
  });
</script>

html部分の記述例

ローカルでは動作しません。またaタグに.auto_filesizeのclass、さらに設置方法通りに指定した場合、aタグ内にspanタグで.size_partのclassを指定しないと動きません。

<ul>
  <li>
    <a href="sample.jpg" class="auto_filesize">
      Sample JPG<span class="size_part"></span>
    </a>
  </li>
  <li>
    <a href="sample.png" class="auto_filesize">
      Sample PNG<span class="size_part"></span>
    </a>
  </li>
  <li>
    <a href="sample.pdf" class="auto_filesize">
      Sample PDF<span class="size_part"></span>
    </a>
  </li>
  <li>
    <a href="sample.docx" class="auto_filesize">
      Sample Word<span class="size_part"></span>
    </a>
  </li>
  <li>
    <a href="sample.xlsx" class="auto_filesize">
      Sample Excel<span class="size_part"></span>
    </a>
  </li>
</ul>

オプションの補足

旧バージョンではbracketsやwrapといった囲みや追加でclass付きspanを書き出すオプションがあったようですが、現在は廃止されています。括弧で囲みたい場合はspan.size_partの外側にテキストで入れるか、spanに:beforeや:afterで括弧を書き出してあげれば良さそうです。

/* 容量の前後に余白を空けて[]で囲むCSS例 */
.size_part{padding: 0 5px;}
.size_part:before{content:"[";}
.size_part:after{content:"]";}