JavaScript/jQueryを使用してファイルをダウンロードする 質問する

JavaScript/jQueryを使用してファイルをダウンロードする 質問する

非常に似た要件が指定されていますここ

ユーザーのブラウザでダウンロードを手動で開始させる必要がある場合$('a#someID').click();

window.hrefしかし、この方法は現在のページの内容をダウンロードしようとしているファイルに置き換えてしまうため、使用できません。

代わりに、ダウンロードを新しいウィンドウ/タブで開きたいのですが、どうすればいいでしょうか?

ベストアンサー1

目に見えないものを使用する<iframe>:

<iframe id="my_iframe" style="display:none;"></iframe>
<script>
function Download(url) {
    document.getElementById('my_iframe').src = url;
};
</script>

ブラウザがレンダリング可能なファイル(HTMLやテキストファイルなど)を強制的にダウンロードするには、サーバー側でファイルのMIMEタイプapplication/x-please-download-meまたは などの無意味な値に変換されますapplication/octet-stream。これは任意のバイナリ データに使用されます。

新しいタブでのみ開きたい場合、これを実現する唯一の方法は、target属性が に設定されたリンクをユーザーがクリックすることです_blank

jQuery の場合:

$('a#someID').attr({target: '_blank', 
                    href  : 'http://localhost/directory/file.pdf'});

そのリンクをクリックすると、新しいタブ/ウィンドウにファイルがダウンロードされます。

おすすめ記事