ЙажаСценарий / Говнокод #10256 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
<button type='button' id='button-download'>download zipfile</button>
$("#button-download").live("click", function() {
    $.get("http://localhost/admin/zip/002140.zip"); // doesn't work?
})

Ссылка на скачивание файла, современный вариант.

Запостил: mozg mozg, (Updated )

Комментарии (16) RSS

  • Я считаю, что с жуквери надо знакомить только после изучения HTML, CSS и доброй толики JavaScript.
    Иначе появляется не только такой звездец, но и цепляние на сайт и дергание jquery для малейшего чиха.
    А потом все жалуются, что браузеры с каждым годом все больше охочи до оперативной памяти.
    Ответить
  • это же обычная защита от роботов и парсеров ссылок ... что вам не нравится?
    Ответить
    • Так то это ссылка для парсеров и роботов с защитой от пользователей) Но судя по мнению автора этого кода, что он не работает- это всё таки должна была быть кнопка на скачивание.
      Ответить
    • Побуду кэпом. Допустим, localhost заменили на адрес сервера. Куда будет скачиваться файл? Что будет с браузером, если по ссылке терабайтный архив?
      Ответить
  • "live" устарел - надо использовать "delegate". Только не понятно, зачем этот тут.
    Тег "button" опасен тем, что в общем случае вызывает сабмит формы (если размещен внтури формы). Поэтому наряду с гет-запросом может произойти перегрузка всей страницы и скачки не будет.
    Чтобы браузер понял, что делать с ответом на запрос (открыть стандартное браузерное окно загрузки файла), нужно перед ответом отправить соответствующие заголовки, а иначе пользователь не увидит ни каких изменений.
    Ответить
    • Чтобы не вызвался сабмит, нужно вызвать event.preventDefault(). Плохо будет, только если JS совсем выключен.

      А get() здесь не нужен. Достаточно старомодного window.location.

      Насчёт заголовков поясните свою мысль.
      Ответить

Добавить комментарий

Помни, guest, за тобой могут следить!

    А не использовать ли нам bbcode?


    8