142 votes

Meilleure façon d'ouvrir une fenêtre de téléchargement sans quitter la page

Quelle est la meilleure façon d'ouvrir une boîte de dialogue de téléchargement (supposons que nous puissions définir la distribution de contenu :pièce jointe dans les en-têtes) sans naviguer loin de la page actuelle, ni ouvrir de fenêtres contextuelles, ce qui ne fonctionne pas bien dans Internet Explorer(IE) 6.

223voto

mozgras Points 930

Ce javascript est sympa qu'il n'ouvre pas une nouvelle fenêtre ou un nouvel onglet.

window.location.assign(url);

128voto

0x000f Points 770

7 ans se sont écoulés et je ne sais pas si cela fonctionne pour IE6 ou non, mais cela invite OpenFileDialog dans FF et Chrome.

var file_path = 'host/path/file.ext';
var a = document.createElement('A');
a.href = file_path;
a.download = file_path.substr(file_path.lastIndexOf('/') + 1);
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

29voto

jao Points 5590

J'ajoute toujours une cible="_blank" au lien de téléchargement. Cela ouvrira une nouvelle fenêtre, mais dès que l'utilisateur clique sur Enregistrer, la nouvelle fenêtre est fermée.

26voto

George Claghorn Points 6665

Mettez ceci dans la section de tête HTML, en définissant le url var à l'URL du fichier à télécharger :

<script type="text/javascript">  
function startDownload()  
{  
     var url='http://server/folder/file.ext';    
     window.open(url, 'Download');  
}  
</script>

Ensuite, mettez ceci dans le corps, qui démarrera le téléchargement automatiquement après 5 secondes :

<script type="text/javascript">  
setTimeout('startDownload()', 5000); //starts download after 5 seconds  
</script> 

(D'ici.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X