我想允许从如下所示的云URL下载。我可以阻止默认的页面刷新吗?
/* Server responded with a url and filename */
let a=document.createElement('a');
document.body.appendChild(a);
a.href=url ;
a.download =filename
a.click();
我尝试了这种方法来防止刷新。
function tempClick(e) {
e.preventDefault();
window.open(e.target.href);
}
a.addEventListener('click',tempClick);
a.click();
与侵入的window.open()
相比,我希望有一种更好的触发下载的方法答案 0 :(得分:1)
有趣的问题。
您是否已经尝试过here建议的“ window.location.assign()”或只是尝试“ window.location = url;”?办法?如果您的文件无法被浏览器渲染和/或以正确的“ Content-Disposition”类型进行响应,则似乎可以正常工作。
注意:除图像外,我没有找到要检查的文件。但是,使用“ window.location.assign()”(当然不是您想要的)时,图像只会在浏览器中打开。
编辑:当然,您根本不需要.click(),而只需执行window.location.assign()