Edited at

javascript、iframeでファイルのダウンロード

More than 3 years have passed since last update.

ダウンロードボタンを押すとファイルがダウンロードされる。

ただし、ファイルが存在しない場合はエラーメッセージをモーダルで表示させる方法のめも。


sample.js

//ダウンロード先のURL

var url = '/download';
var iframes = "<iframe id="downloader" width="0" height="0" frameborder="0" src="' + url + '"/>";
$(iframes).appendTo('body').load(function(){
//エラーがあった場合、サーバー側からエラーメッセージが返されるので、それを表示
var body = $(this).contents().find('body').text();
if(body != ''){
alert(body);
}
//iframeは自動的に閉じる
setTimeout(function() {
$('#downloader').remove();
},300);
});