Javascript 由于CSP错误,无法在firefox中下载blob
我正在尝试从blob下载PDF文件。整个过程都在Javascript 由于CSP错误,无法在firefox中下载blob,javascript,firefox,blob,content-security-policy,Javascript,Firefox,Blob,Content Security Policy,我正在尝试从blob下载PDF文件。整个过程都在iframe中,当我尝试下载它时,它会在控制台中抛出以下错误:内容安全策略:页面的设置阻止了在blob加载资源:http://localhost:8080/myApp/31d389m6-8njb-n7gv-427n-bm86ynte36hc(“儿童src”),我尝试过以下方法: const url = URL.createObjectURL(blob); const a = document.createElement('a'); a.href =
iframe
中,当我尝试下载它时,它会在控制台中抛出以下错误:内容安全策略:页面的设置阻止了在blob加载资源:http://localhost:8080/myApp/31d389m6-8njb-n7gv-427n-bm86ynte36hc(“儿童src”)
,我尝试过以下方法:
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = fileName || 'download';
document.body.appendChild(a);
const clickHandler = function() {
setTimeout(function(){
URL.revokeObjectURL(url);
this.removeEventListener('click', clickHandler);
a.parentNode.removeChild(a);
}, 150);
};
a.addEventListener('click', clickHandler, false);
a.click();
我已经在主页和iframe中添加了
,但仍然存在此错误。它正在其他浏览器上工作,如chrome和edge。有什么我遗漏的吗?在CSP中添加“blob:”作为“frame src”,根据“某些浏览器从源指令中专门排除blob和文件系统”的语句。(参考)
我觉得firefox就是其中之一。在我的情况下,这解决了问题。你已经有了这样的标签吗
@FelixSchildmann没有,我只有X-UA-Compatible
标签在父页面和iframe中。在你的响应标题中有任何内容安全策略标题吗?@HalvorSakshaug我没有从任何服务器获得blob,它只使用JS生成,我正试图把它作为一个文件下载。