/ / spustenie kódu po spustení sťahovania - javascript, jquery

spustenie kódu po spustení sťahovania - javascript, jquery

Chcel by som pridať animovaný obrázok zavádzača,ktorá sa objaví po spustení sťahovania prílohy a zmizne po skutočnom spustení sťahovania - keď prehliadač začne sťahovať súbor (alebo zobrazí dialógové okno s potvrdením sťahovania). Dôvodom je to, že prílohy sú dosť zložité dokumenty generované na strane servera, čo nejaký čas trvá a animovaný zavádzač by používateľa ubezpečil, že stránka funguje (a deaktivuje tlačidlo sťahovania, kým sa sťahovanie nezačne).

Príloha má správne nastavené hlavičky Http.

Teraz to vyzerá takto:

var link = $("#download-link");
link.click(function () {
link.displayLoader();
$(document).load(link.attr("href"), function () {
link.hideLoader();
});
return false;
});

Hlavným problémom je, že. \ T load metóda evidentne nerobí to, čo by som chcel dosiahnuť. Existuje spôsob, ako zachytiť skutočný začiatok sťahovania spustený pomocou window.location zmeniť?

odpovede:

1 pre odpoveď č. 1

Môžete urobiť, je.

Deaktivujte celú obrazovku, až kým nebude sťahovanie dokončené (spracovanie na strane servera).

A užívateľ klikne na tlačidlo stiahnuť a užívateľ súbor stiahne priamo.

Postupy, za ktorými nasleduje väčšina sťahovaných webových stránok. eg. Mediafire.com

PS: Vypnutie celej obrazovky znamená dialógové okno Typ systému. vypnutie ďalších možností.


0 pre odpoveď č. 2

Prečo nezobrazíte obrázok zavádzača ako prvý?

Ak už teraz rozumiem správne, je problémom, že chcete, aby obraz zavádzača zmizol, keď sa súbor začne sťahovať, a v súčasnosti zmizne po dokončení sťahovania súboru?

Nemyslím si, že existuje jednoduchý spôsob, ako to urobiť s jQuery, ale ak prejdete na normálny JavaScript XMLHttpRequest priamo v objekte, získate niekoľko spätných volaní v rôznych fázach sťahovania, ku ktorým máte prístup cez internet readyState vlastnosť.