Javascript Can';t一次点击下载2个文件(不同的URL)

Javascript Can';t一次点击下载2个文件(不同的URL),javascript,url,download,window,Javascript,Url,Download,Window,我有按钮和两个复选框。如果选中两个复选框,我必须调用两个不同的URL来下载文件。一个url调用良好,但第二个url被浏览器阻塞 window.open('http://example.com/getFirstFile', '_blank'); window.open('http://example.com/getSecondFile', '_blank'); 我也试着用 window.location = 'http://example.com/getFirstFile'; window.lo

我有按钮和两个复选框。如果选中两个复选框,我必须调用两个不同的URL来下载文件。一个url调用良好,但第二个url被浏览器阻塞

window.open('http://example.com/getFirstFile', '_blank');
window.open('http://example.com/getSecondFile', '_blank');
我也试着用

window.location = 'http://example.com/getFirstFile';
window.location = 'http://example.com/getSecondFile';
并且推迟

window.location = 'http://example.com/getFirstFile';

setTimeout(function() {
   window.location = 'http://example.com/getSecondFile';
}, 1000);
没有什么不起作用的


如何调用文件下载的两个链接?

浏览器中的某些操作要求首先启动用户操作。例如,如果使用媒体控件,则除非首先实例化了单击处理程序,否则无法对播放请求执行操作

打开窗口很可能也是这些事件之一,因此除非用户再次单击,否则window.open将被阻止

您甚至可以在控制台上看到这种情况,请尝试->
window.open('http://www.microsoft.com","空白",;打开窗户http://www.google.co.uk","空白",您将注意到只有microsoft的网站将打开

但是如果您将它们作为两个独立的控制台请求来执行,它们都将打开

这样做的明显原因是为了阻止恶意网站向您的浏览器发送垃圾邮件


这里阻止的是弹出窗口阻止程序,所以有一些选项可以覆盖它。但同样,用户必须允许这种情况发生。因此,在Chrome中,您应该会看到一个弹出阻止程序图标出现,您应该能够选择always allow,然后您将能够在不需要其他用户交互的情况下打开多个窗口。

“但浏览器会进行第二次阻止”。你犯了什么错误?