带有service worker的Angular应用程序。CSP头已更新为添加新的frame-src
。Safari可以很好地识别头更改。Chrome正在阻止iframe内容,console.log中的块详细信息显示了旧的CSP头,没有新的frame-src条目。但是,当我查看network选项卡中的头时,我确实看到了更新的头。
我不知道这是否与service worker有关,但我假设是这样的。当有新的更新可用时,我会有一个刷新提示,因此我可以确认service worker更新过程正在工作。
我试着加上
"cacheQueryOptions": {
"ignoreVary": false
},
字符串
我的ngsw-config.json
,因为,好吧,它的头相关,至少,但Chrome仍然使用缓存的头。
我还使用Google CSP验证器验证了我的CSP头是否有效。
我不知道接下来该怎么办。
1条答案
按热度按时间zzzyeukh1#
我不知道这是否是一个解决方案,但我发现了一些适用于这种情况的方法。我在index.html文件中添加了CSP的frame-src部分作为Meta标记:
字符串
现在Chrome允许iframe内容。
这只是CSP头中已有内容的重复,但显然足以让Chrome停止使用旧的缓存头。