我正在 iframe 中启动我的网站。我正在使用以下 CSP header :
default-src 'self'; frame-ancestors: 'self'; img-src 'self' data:
我正在尝试使用以下方式从客户端下载文件:
var a = doc.createElement('a');
a.download ='download.pdf';
a.href = 'data:application/pdf;base64,' + pdfdata;
doc.body.appendChild(a);
a.onclick = function () {
a.parentNode.removeChild(a);
};
a.click();
在 Chrome 和 IE 中,文件下载成功。但对于 Firefox,我看到以下 CSP 错误:
Content Security Policy: The page’s settings blocked the loading of a resource at data:application/pdf;base64,JVBERi0xLjcK... (“default-src self”).
我无法理解为什么它只在 Firefox 上失败。
最佳答案
这是 Firefox 的问题。我已针对此问题记录了以下错误,现已得到 Bugzilla 团队的确认。 https://bugzilla.mozilla.org/show_bug.cgi?id=1365502
您还可以检查以下网址来重现此问题 http://data-uri-download-csp.bitballoon.com/
关于javascript - CSP header 仅在 Firefox 中阻止 iframe 中的文件下载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44009062/