Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Javascript自动下载文件_Javascript_Html - Fatal编程技术网

使用Javascript自动下载文件

使用Javascript自动下载文件,javascript,html,Javascript,Html,对于一个拥有大量文档的公司网站,我正在编写一个JavaScript以自动方式下载这些文档 我所采用的方法是使用这些链接创建一个html文件,并在页面中添加一个javascript,该javascript将遍历这些链接并模拟单击 不幸的是,“点击”只发生在第一个链接上,但在下一个链接后停止 var links=document.getElementsByTagName('a'); 对于(变量i=0;ianchor.click()) 只有一件重要的事情:应该允许您的客户机从服务器下载这些文件。你

对于一个拥有大量文档的公司网站,我正在编写一个JavaScript以自动方式下载这些文档

我所采用的方法是使用这些链接创建一个html文件,并在页面中添加一个javascript,该javascript将遍历这些链接并模拟单击

不幸的是,“点击”只发生在第一个链接上,但在下一个链接后停止

var links=document.getElementsByTagName('a');
对于(变量i=0;i

等待第一次单击完成没有任何意义

你的想法就快到了。。。但是您忘记了一个属性
下载

HTML: 
<a download href="http://internal.corporateurl.com/filepath/file.pdf">Link 1</a>

JS:
const links = document.querySelectorAll('a')
links.forEach(anchor => anchor.click())
HTML:
JS:
const links=document.queryselectoral('a'))
links.forEach(anchor=>anchor.click())
只有一件重要的事情:应该允许您的客户机从服务器下载这些文件。你不能只把你在互联网上找到的pdf文件放进去


编辑:

为了说明我的最后一句话,这里有一个例子:

此链接指向我的域之外的PDF。因此,与其下载,不如在屏幕上打开:

<a href="https://www.cs.cmu.edu/afs/cs.cmu.edu/user/gchen/www/download/java/LearnJava.pdf" download>link</a>

这是指向我的项目的相对路径,因此它工作正常

<a href="/images/myw3schoolsimage.jpg" download>link</a>

供您尝试的参考:


干杯,

我想,您需要等到第一次单击的请求完成。是否有理由使用浏览器JS而不是节点?在浏览器之外,从页面上的链接中批量保存文件将更加高效和愉快。除了缺少复杂的工具之外,没有其他特别的原因。什么是节点?我有权访问Excel VBA,我办公室的记事本。我不理解你的上一个笔记,请你重新措辞或澄清一下好吗?我一定会尝试你的解决方案。你想下载的文件应该托管在你的站点所在的同一个域中。如果不是这样,我想您需要进行一些额外的配置,以便在承载文件的服务器上使用它。您有比w3schools更好的资源吗?您所说的“更好的资源”是什么意思?你不信任他们吗?