0

ここに私のHTMLの一部があります:

<input type="button" onclick="downloadFile()" value="Download">
<a href="http://i.imgur.com/CqIpg.jpg" id="fileLink">Link to file</a>

ダウンロードファイルのコードは次のとおりです。

function downloadFile(){
 $.fileDownload($('#fileLink').attr('href'), {
   preparingMessageHtml: "We are preparing your report, please wait...",
   failMessageHtml: "There was a problem generating your report, please try again."
 });
 return false;
}

jQueryのfileDownload プラグインを使用しています。ボタンをクリックすると、「レポートを準備しています。しばらくお待ちください...」という通知が表示されます。しかし、それは永遠にそのままで、ファイルはダウンロードされません。

リンクが有効であることを確認するために、リンクをクリックすると、ブラウザでファイルが開きます。注意し忘れている点はありますか?

これがそのJSFiddleです

4

1 に答える 1

1

この更新をデモに試してみてください: http://jsfiddle.net/revive/zvxyv/14/

クリック機能を含めるようにコードを更新し、jsfiddle を介して JS アセットをロードし、Dom Ready にロードしました

$(function() {
    $(document).on("click", ".button", function() {
        var href = $(this).next('a').prop('href');
        // alert to verify/check href value
        //alert(href);
        $.fileDownload(href, {
            preparingMessageHtml: "We are preparing your report, please wait...",
            failMessageHtml: "There was a problem generating your report, please try again."
        });
        return false;
    });
});

動作するようになりました..使用していた img URL がクロス ドメイン Cookie をブロックしていたようです。

幸運を祈ります

于 2015-06-24T13:59:56.117 に答える