Safari中的第二个请求的XHR请求图像失败

时间:2013-05-26 15:09:20

标签: javascript image amazon-s3 xmlhttprequest cors

我在S3上存储图像资源并使用XHR请求它们。我在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>
        <AllowedHeader>*</AllowedHeader>
        <MaxAgeSeconds>3000</MaxAgeSeconds>
    </CORSRule>
</CORSConfiguration>

在Chrome和Firefox中,一切都运行良好,但我在Safari中遇到了问题...

如果我清除缓存并请求图像,则没有问题,图像加载成功,但是如果我刷新页面,则图像无法加载,我收到以下错误:

  

XMLHttpRequest无法加载   http://s3-eu-west-1.amazonaws.com/my.bucket.com/photographs/example.jpg?1369324610。   来源http://example.dev不被允许   访问控制允许来源。

使用Charles观看网络,我可以看到第二次请求时,没有向S3提出请求

所以问题似乎与Safari的缓存有关。

有没有人知道为什么我在Safari中收到此错误?

加载代码是名为PreloadJS的库的一部分,负责加载的类是here。从第370行开始的p_createXHR包含XHR创建代码。但是,在密切关注此功能后,XHR请求在成功请求和失败请求之间似乎相同。

0 个答案:

没有答案