36

このJavaScript関数を使用してダウンロードを開始しています

function startDownload(url) {
   window.open(url, 'Download');
}

動作しますが、新しいタブまたは新しいウィンドウの起動をブロックしたいのですが、ありがとうございます。

4

4 に答える 4

56
function startDownload(url) {

    window.location.href = url;
}

これにより、 以外のターゲットなしでリンクをクリックした場合とまったく同じように、同じページでダウンロードが開始されます_self

ファイルのダウンロードを強制するには、必ず正しいヘッダーを一緒に送信してください。

Content-Disposition: attachment; filename="mypdf.pdf";

これにより、ファイルがダウンロードされる代わりにブラウザに表示されなくなります。save asファイル名の部分を、ダイアログのデフォルトとして使用するファイル名に置き換えます。

于 2012-09-11T08:23:23.637 に答える
13

window.open新しいウィンドウ\タブが開きます(ユーザー設定によって異なります)...ファイルをダウンロードするだけです

window.location.href = url;

urlこれは、 が Web ページではなくダウンロード可能なファイルを返す場合に使用できます。

于 2012-09-11T08:23:15.917 に答える
7

'download' 属性を持つ HTML5 ソリューション

<a href="/images/myw3schoolsimage.jpg" download>

https://www.w3schools.com/tags/att_a_download.asp

于 2017-04-05T02:59:58.830 に答える