一键无法下载2个文件(不同的网址)

时间:2019-04-24 14:59:43

标签: javascript url download window

我有一个按钮和两个复选框。如果选中两个复选框,则必须调用2个不同的URL进行文件下载。一个网址调用正常,但是第二个被浏览器阻止。

str

我也尝试使用

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';

从那里什么都行不通。

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

1 个答案:

答案 0 :(得分:0)

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

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

您甚至可以从控制台看到这种情况,请尝试-> window.open('http://www.microsoft.com', '_blank');window.open('http://www.google.co.uk', '_blank');,您会发现只有Microsoft的网站会打开。

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

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

这里阻止的是弹出窗口阻止程序,因此有一些选项可以覆盖它。但是还是必须由用户来允许这种情况发生。因此,在Chrome中,您应该看到一个弹出窗口阻止程序图标,您应该能够选择始终允许,然后就可以打开多个窗口,而无需其他用户交互。