jQuery laden Sie ein zipfile mit einer Taste?
Ziemlich peinlich, wie viel Zeit ich damit verbringen, Holen Sie sich den download einer Zipdatei aus-Taste....
<button type='button' id='button-download'>download zipfile</button>
$("#button-download").live("click", function() {
$.get("http://localhost/admin/zip/002140.zip"); //doesn't work?
})
Ich brauche etwas kugelsicheren hier, deshalb Frage ich hier, vielen Dank.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit einem einfachen:
link. Dann werde es funktionieren ("bullet proof" sogar) auch ohne JavaScript verfügbar. Es bietet auch mehr von der traditionellen affordances Benutzer erwarten von einem download-link, wie etwa rechts-klicken Sie auf-speichern -, oder drag-und-drop.
Natürlich können Sie CSS verwenden, um es Aussehen wie ein button statt ein link. Aber was es eigentlich ist, ist ein link. So, wie es sein sollte, markiert.
Sollten Sie die
location.href
Eigentum zu verursachen navigation:Hätte man auch eine einfache
<a>
element, gestylt, als wäre es eine Taste, in, so dass auch Benutzer, die JavaScript deaktiviert haben, wird in der Lage sein, um die Datei herunterzuladen..live()
wurden entfernt in jquery 1.9, nutzen Sie also.on()
. (Dank PaparazzoKid unten)Sendet eine AJAX-Anfrage.
Habe ich noch nicht ausprobiert, aber es sollte funktionieren, in der Theorie. Wenn Sie versuchen, gehen Sie zu einem Speicherort einer Datei, die heruntergeladen wird, werden Sie aufgefordert, herunterladen, anstatt Sie auf dieser Seite.
.live()
verwenden.on()
..live()
entfernt wurde, in jQuery 1.9.Bisschen spät, um der Partei, aber dachte, ich würde teilen meine Lösung als die sonst niemand hat.
Können Sie das beste aus beiden Welten; ein einfacher HTML-link und eine JS-Funktion, ohne Verlust der nicht-JS-Nutzer.