8

ボタンからzipファイルをダウンロードするのにどれだけの時間を費やしているのか、非常に恥ずかしい....

<button type='button' id='button-download'>download zipfile</button>


$("#button-download").live("click", function() {
    $.get("http://localhost/admin/zip/002140.zip"); // doesn't work?
})

ここで防弾が必要なので、ここで質問します、ありがとう。

4

4 に答える 4

7

プレーンを使用します:

<a href="http://localhost/admin/zip/002140.zip" id="button-download">download zipfile</a>

リンク。そうすれば、JavaScript がなくても問題なく (「防弾」でも) 動作します。また、右クリックで名前を付けて保存やドラッグ アンド ドロップなど、ユーザーがダウンロード リンクに期待する従来のアフォーダンスをさらに提供します。

もちろん、CSS を使用して、リンクの代わりにボタンのように見せることもできます。しかし、実際にはリンクです。それがマークアップする方法です。

于 2010-05-20T23:44:45.547 に答える
5

location.hrefナビゲーションが発生するようにプロパティを設定する必要があります。

$("#button-download").live("click", function() {
  location.href = "http://localhost/admin/zip/002140.zip";
});

また、ボタンのようなスタイルの単純な<a>要素を使用することもできます。そうすれば、JavaScript が無効になっているユーザーでもファイルをダウンロードできます。

于 2010-05-20T23:26:12.347 に答える
1

パーティーに少し遅れましたが、他の誰も持っていないので、私の解決策を共有したいと思いました.

両方の長所を活かすことができます。非 JS ユーザーを失うことなく、単純な HTML リンクと JS 関数。

<a id="download" href="http://www.example.com/download.zip">Download</a>

$("#download").on("click", function(e) {

    // cancel the link's original functionality
    e.preventDefault();

    // do something before downloading
    alert("Thanks for downloading!");

    // download file
    location.href = "http://www.example.com/download.zip";

});
于 2014-07-15T01:36:13.367 に答える
1

つまり、AJAX リクエストを送信しています。

私はこれを試していませんが、理論的にはうまくいくはずです。ダウンロードされたファイルの場所に移動しようとすると、そのページに移動するのではなく、ダウンロードするように求められます。

<button type='button' id='button-download'>download zipfile</button>


$("#button-download").live("click", function() {
    window.location = "http://localhost/admin/zip/002140.zip";
})
于 2010-05-20T23:26:23.890 に答える