You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Safari扩展Manifest V3中CSP配置致图片加载失败求助

Safari Manifest V3 CSP 加载Unsplash图片报错问题排查

你的问题核心是Safari对Manifest V3的CSP解析逻辑和Chrome存在差异,并非你的CSP定义不规范,而是Safari的严格执行(以及对Manifest V3的兼容细节)导致的。

可能的原因及解决方案

1. 调整域名匹配规则为带通配符形式

Safari的CSP解析对域名匹配的要求更严格,即使指定了https://images.unsplash.com,它可能需要通配符来覆盖带查询参数的请求。修改CSP如下:

"content_security_policy": {
  "extension_pages": "img-src https://*.images.unsplash.com data:; script-src 'self'; object-src 'self';"
}

2. 合并规则到default-src兜底

部分版本的Safari在Manifest V3中处理extension_pages的CSP时,可能优先遵循default-src的规则,单独定义img-src可能被忽略。尝试调整为:

"content_security_policy": {
  "extension_pages": "default-src 'self'; img-src https://images.unsplash.com data:;"
}

3. 检查Safari版本兼容性

Safari从15.4版本才开始支持Manifest V3,旧版本存在CSP解析的已知bug。建议升级到最新稳定版后再测试。

4. 注意:CSP不支持匹配带查询参数的完整URL

CSP的img-src规则仅基于域名、协议或端口匹配,查询参数不属于匹配范围,这也是你添加完整URL仍报错的原因,无需尝试这种方式。

验证方法

修改CSP后重新打包加载扩展,打开Safari开发者工具(开发>显示Web检查器),查看控制台是否还有CSP报错,同时确认图片请求的请求头和加载状态是否正常。

内容的提问来源于stack exchange,提问作者Michael Flores

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 14:15:41