如何让“左键单击”模仿“将目标另存为”?

时间:2013-03-05 23:11:31

标签: javascript mouseevent

无论如何都可以在普通的Javascript中完成这项工作吗?

当人们点击以下内容时:

<div id=mydiv">Left click for download</div>

Javascript看起来如何?我正在使用:

$('#mydiv').click(function() {
  window.location.href('where_my_File_is.file');
});

但这只是打开它。任何人都有一个简单的JavaScript脚本?

1 个答案:

答案 0 :(得分:3)

评论中链接的答案解释了为什么这不能在Javascript中完成,而是需要在服务器端完成。这一点特别解释了为什么会这样:

https://stackoverflow.com/a/5192922/560114

我只是想补充说有一种方法可以在客户端启动下载,但它需要使用Flash,它可能对你没有帮助,因为它的目的是让它可以下载您使用Javascript生成的文本文件:

https://github.com/dcneiner/Downloadify

如果它是远程文件,那么强制下载的最佳方法是让服务器将其读入内存,然后使用强制下载所需的标头输出。无论是本地还是远程,服务器的标头至少需要包含Content-Disposition: attachment。这是PHP中的跨浏览器示例:

http://davidwalsh.name/php-force-download