javascript - CSP header 仅在 Firefox 中阻止 iframe 中的文件下载

标签 javascript firefox iframe content-security-policy

我正在 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/

相关文章:

html - 表格中段落的边距有时会被忽略,有时不会。为什么?

javascript - 使用 Javascript、JQuery 动态更改 iFrame Src

javascript - 可以将本地人注入(inject)到带有 ng-controller 的 Controller 集中吗?

javascript - 粘性导航栏 - 不起作用

python - 浏览器自动化 : Python + Firefox using PyXPCOM

javascript - 调整窗口大小时,转换后的元素不遵守 Firefox 上的绝对位置

javascript - 在 Laravel Blade 模板中使用 JS/JQuery 时搜索栏过滤器的问题

javascript - Jquery Tab 面板集中于按键

javascript - 新的 Websocket() 在 Firefox Quantum 中返回错误的对象

iframe - 无法播放YouTube视频后正确设置相关视频