Electron中设置Content Security Policy时,为什么页面仍报错Mixed Content?

书生シ依甜 阅读 18

我在Electron项目里给渲染进程加了CSP安全策略,但页面加载本地图片时还是报错”Blocked loading mixed active content”。按照文档在HTML设置了Content-Security-Policy头,内容是:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' data:; media-src 'self'">

图片路径用的是本地绝对路径file:///Users/xxx/project/assets/logo.png,试过把标签的src改成require导入,或者把CSP里的改成filesystem:都不行。查过Electron的文档但没找到类似场景的解决方案,求大神指点具体哪里配置错了?

我来解答 赞 7 收藏
二维码
手机扫码查看
1 条解答
皇甫春晖
Electron 渲染进程的 CSP 不支持 filesystem: 协议,本地文件要用 file:// 协议并允许在 img-src 中。
直接把 CSP 改成 <meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src 'self' data: file:; media-src 'self' file:;"> 就行了。
另外确保主进程没有禁用 nodeIntegration 或 webSecurity 导致策略失效。
点赞 4
2026-02-10 13:02