この新しく作成されたアンカーのクリックを呼び出そうとしています:
$('.file-status').html("Finished downloading <a class='download' download href='#{fileEntry.toURL()}'>#{name}</a>")
$('.download').click()
ただし、クリック イベントは呼び出されません。これがなぜなのかわかりませんか?
ブラウザでリンクを開くのではなく、ダウンロードを強制しようとしています。Dropbox のように
編集
ここにコードがあるので、より明確です:
fileEntry.createWriter ((fileWriter) ->
fileWriter.onwriteend = (e) ->
$('.file-status').html("Finished downloading <a class='download' download href='#{fileEntry.toURL()}'>#{name}</a>")
$('.download').trigger('click');
fileWriter.onerror = (e) ->
console.log "Write failed: " + e.toString()
fileWriter.write blob
), errorHandler
アップデート:
したがって、以下の回答から、これは実際には不可能であることを理解した後、サーバーがヘッダー Content-disposition: 添付ファイルでデータを送信する場合を除きます。しかし、これはオフラインの可能性がある純粋な HTML5 JS アプリに対する本当に悪い解決策のように思えます。
だから私はこれを見つけました、それはこれを驚くほどうまく処理します! それはうまくいきます。リンクは次のとおりです。
http://updates.html5rocks.com/2011/08/Saving-generated-files-on-the-client-side
多くの人がいると確信しているので、これが同じことをしたい人に役立つことを願っています!