我已通过将以下内容添加到 webconfig 来启用 CORS,但它似乎无法始终如一地工作:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
如果我们在请求中添加“Origin”标头,它会在响应中显示 Access-Control-Allow-Origin:* 标头。但是,如果我们不在请求中添加“Origin”标头,则服务器不会返回 Access-Control-Allow-Origin:* 标头。
问题是,我正在使用 sw-toolbox 预缓存静态资源。但是如果一个资源比如javascript文件在Service Worker激活之前已经在浏览器缓存中,例如在html页面中直接引用该文件并且浏览器已经下载并缓存了该文件,那么Service Worker尝试预缓存时会显示CORS错误那个文件。