我们提供来自S3 + Cloudfront的静态css文件 在S3中,我们为
设置了桶的CORS<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
在Cloudfront上,我们列出了标题 起源 而且(在另一个测试中) 访问控制请求报头 AND Access-Control-Request_method
现在问题: 1.在Chrome上当我加载使用CTRL + F5(忽略本地缓存)读取css文件的页面时,它们可以很好地加载而不会出错。 如果我然后刷新同一页面(F5)并从磁盘缓存加载文件,Chrome会给出错误: 请求的资源上不存在“Access-Control-Allow-Origin”标头。
作为参考,使用以下代码完成css上传:
var fileref=document.createElement("link");
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", filename);
if (callback) fileref.onload=callback;
document.getElementsByTagName("head")[0].appendChild(fileref);