Как показать размер связанного файла и ввести атрибуты заголовка с помощью jQuery? - PullRequest
0 голосов
/ 21 марта 2010

Например:

До

<a 
target="_blank" 
href="http://www.adobe.com/devnet/acrobat/pdfs/reader_overview.pdf">
Adobe Reader JavaScript specification 
</a>

Поскольку файл в формате PDF, заголовок должен быть title="PDF, 93KB, opens in a new window"

<a
title="PDF, 93KB, opens in a new window" 
target="_blank" 
href="http://www.adobe.com/devnet/acrobat/pdfs/reader_overview.pdf" >
Adobe Reader JavaScript specification
</a>

Ответы [ 2 ]

1 голос
/ 22 марта 2010

Как сказал дуирлай, посмотрите на Найдите размер файла за ссылкой для скачивания с помощью jQuery .

Тогда способ обновления заголовка с помощью jQuery будет таким ...

$(function() {
  $("a[href$='.pdf']").each(function(i, obj) {
    var link = $(obj);
    $.ajax({
      type: "HEAD",
      url: link.attr("href"),
      success: function() {
        var length = request.getResponseHeader("Content-Length");
        if (!isNaN(parseInt(length))) {
          var fileSize = readablizeBytes(length);
          link.attr("title", "PDF, "+ fileSize  +", opens in a new window");
        }
      }
    })
  })
});

// From http://web.elctech.com/2009/01/06/convert-filesize-bytes-to-readable-string-in-javascript/
function readablizeBytes(bytes) {
  var s = ['bytes', 'kb', 'MB', 'GB', 'TB', 'PB'];
  var e = Math.floor(Math.log(bytes)/Math.log(1024));
  return (bytes/Math.pow(1024, Math.floor(e))).toFixed(2)+" "+s[e];
}
1 голос
/ 21 марта 2010

Посмотрите на это, Найдите размер файла за ссылкой для скачивания с jQuery

Из этого поста вы можете сделать что-то вроде:

<a title="PDF, 93KB, opens in a new window"  target="_blank"  href="http://www.adobe.com/devnet/acrobat/pdfs/reader_overview.pdf"
> Adobe Reader JavaScript specification </a>

$('a').each(function() {
  var request;
  request = $.ajax({
    type: "HEAD",
    url: $("#url").val(),
    success: function () {
      $(this).attr('title', request.getResponseHeader("Content-Length"));
    }
  });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...