Lancement d'un téléchargement avec javascript
J'ai besoin de dynamique d'initier un téléchargement avec javascript. J'ai vu comment les gens font cela en faisant quelque chose comme
window.open("some url", "Download");
mais j'ai besoin de le faire sans changer l'url de la page en cours (et non pas à l'aide de cadres si je peux l'aider, ou à créer et détruire une image dynamiquement). Quelqu'un sait comment faire cela?
- de la fenêtre.ouvrir ne pas modifier l'url de la page en cours. Il ouvre une nouvelle page (à moins que le bloqueur de pop-up s'arrête, c').
- Dans google chrome, il ne fait rien, et j'ai besoin d'un cross-browser méthode.
- Oh en fait je me suis trompé, Chrome n'a même pas me dire que c'était le blocage des fenêtres pop-up. Merci.
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin
window.open()
. C'est laid et sujettes à popupblockers (où vous n'avez aucun contrôle sur les clients). Justewindow.location
est suffisant si l'en-tête de réponse de la demande de l'URL de téléchargement contientContent-Disposition: attachment
. Cela ne va pas changer l'URL dans la barre d'adresse du navigateur, ni la page en cours, mais juste de la pop Enregistrer sous dialogue.E. g.
.exe
des fichiers, mais pas pour les fichiers que le navigateur est capable de rendre, comme une image, un pdf ou un fichier html.assign()
parce que l'endroit est un objet de type Emplacement qui ne peut pas être attribué à une chaîne:window.location.assign('http://download.winzip.com/winzip145.exe');
. Mais booth variantes sont entièrement pris en charge: developer.mozilla.org/en-US/docs/Web/API/Window/locationContent-Disposition
en-tête est réglé correctement.