我有一个按钮和两个复选框。如果选中两个复选框,则必须调用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';
从那里什么都行不通。
如何调用两个链接进行文件下载?
答案 0 :(得分:0)
浏览器中的某些操作要求首先启动用户操作。例如,如果您使用了媒体控件,则除非首先实例化了点击处理程序,否则您就无法操作播放请求。
打开窗口也很可能是这些事件之一,因此,除非用户再次单击鼠标,否则window.open将被阻止。
您甚至可以从控制台看到这种情况,请尝试-> window.open('http://www.microsoft.com', '_blank');window.open('http://www.google.co.uk', '_blank');
,您会发现只有Microsoft的网站会打开。
但是,如果您将它们作为两个单独的控制台请求执行,则它们都将打开。
这样做的明显原因是阻止恶意网站向您的浏览器发送垃圾邮件。
这里阻止的是弹出窗口阻止程序,因此有一些选项可以覆盖它。但是还是必须由用户来允许这种情况发生。因此,在Chrome中,您应该看到一个弹出窗口阻止程序图标,您应该能够选择始终允许,然后就可以打开多个窗口,而无需其他用户交互。