Загрузка файла через скрытый iframe - как определить, завершается ли загрузка / не удается / прерывается? - PullRequest
1 голос
/ 03 февраля 2012

Когда пользователь щелкает по моей ссылке на скачивание, между щелчком и появлением диалогового окна загрузки в браузере пользователей появляется небольшая пауза, это потому, что мой сервер создает архив из нескольких файлов, и это может занять короткое время.while.

Итак, я хочу разместить загрузочный счетчик и отключить ссылку в течение этого времени, чтобы пользователь снова не нажал ссылку для загрузки.Единственная проблема заключается в том, что мне нужно повторно включить ссылку и скрыть счетчик, но я не уверен, как определить, когда появляется всплывающее окно загрузки.

Я использую скрытый iframe для запуска загрузки, и кажется, что события onload / onsubmit запускают до , когда отображается всплывающее окно, т.е. когда установлен атрибут src iframes или когда добавляется iframesв дом.

Есть идеи, как это сделать?

1 Ответ

0 голосов
/ 03 февраля 2012

возвращает строку, основанную на стороне сервера страницы iframed строки "ok" или "error".

Проверьте iFrame на наличие изменений:

$("iframe#uploadProcessor").load(function(){
       if($(this).text().indexOf("Error") > -1){
          console.log($(this).html());
       }else{
          var wrapper = $("div#main div#closets.tabContent div#UploadFormWrapper");
           if(wrapper.hasClass('Active')){
                  wrapper.animate({"height":"0px"}, {"queue": false, "duration": 400}).fadeOut(375, function(){
                           wrapper.removeClass('Active');
                          });
                    }
                           require(["AJAX"], function(AJAX){
                               AJAX.ajaxUpdateCloset($("form#UploadForm select#OutfitCloset")[0].value);
                           });
                       }
                       $("div#main div#closets.tabContent form#UploadForm")[0].reset();
                   });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...