Javascript 锚标记上的下载属性已停止跨域工作

Javascript 锚标记上的下载属性已停止跨域工作,javascript,html,download,attributes,anchor,Javascript,Html,Download,Attributes,Anchor,从过去几天开始,我发现anchor标签上的download属性已经停止在跨域上工作,我们没有从跨域下载内容,而是被重定向到查看该内容 任何使用js的变通方法都将不胜感激 代码: var a = document.createElement('a'); a.href = selectedStore.pdfLink; a.download = 'Sample.pdf'; a.style.display = 'none'; document.body.appendChild(a); a.cl

从过去几天开始,我发现anchor标签上的download属性已经停止在跨域上工作,我们没有从跨域下载内容,而是被重定向到查看该内容

任何使用js的变通方法都将不胜感激

代码:

var a = document.createElement('a'); 
a.href = selectedStore.pdfLink; 
a.download = 'Sample.pdf'; 
a.style.display = 'none'; 
document.body.appendChild(a); 
a.click(); document.body.removeChild(a); 

href if除了stackoverflow之外的任何域都将打开文档而不是下载它。

我注意到跨域PDF文档存在类似问题

我通过在PDF文档中添加http标题解决了此问题:

内容配置:附件;filename=“Sample.pdf”


例如,如果您的PDF文档存储在S3中,则可以很容易地手动添加标题,也可以通过编程方式(在文档的初始上载期间)添加标题。如果您无法控制PDF文档HTTP标题,则需要另一种解决方案。

查看浏览器支持?或者,如果您操作属性,请提供您使用的代码。@Kenyanke:PFB代码段:var a=document.createElement('a');a、 href=selectedStore.pdfLink;a、 下载='Sample.pdf';a、 style.display='none';文件.正文.附件(a);a、 单击();文件.body.removeChild(a);href(如果是stackoverflow之外的任何域)将打开文档而不是下载文档。