【发布时间】:2013-02-14 08:31:58
【问题描述】:
我试图点击这个新创建的锚点:
$('.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
希望这对想要做同样事情的人有所帮助,因为我相信有很多人!
【问题讨论】:
-
你这样点击是干什么的?
-
用户单击链接以从 API 下载文件,一旦使用 FILE API 下载文件,它就会创建此链接。我想为用户启动下载对话框(当他点击下载文件时)。让用户点击下载似乎很愚蠢,然后一旦文件被下载,点击下载文件agian..
-
在下面查看我的答案,我认为它会对你有所帮助
标签: click coffeescript jquery