我试图让retina.js在我们的网站上工作,在该网站中,投资组合文章是由ajax加载的。
因此,retina.js似乎试图获取图像,但留下的是典型的
XMLHttpRequest cannot load http://assets.url.com/images/logo6@2x.png. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://url.com' is therefore not allowed access. 我正在运行Nginx,这有它的访问控制设置,但是很明显,它也需要在S3上安装,而且它是.像这样友好而开放..。
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>我尝试过包括特定URL在内的变体,但仍然得到了相同的错误消息。
有人知道错误可能在这里吗,也许我们的集合根本没有设置请求头?也许我们的ajax网格正在干扰retina.js?retina.js网站上没有提到一旦设置了上述代码,就需要任何特殊的配置。
如果有任何不同,我们也使用Cloudflare来进行DNS,尽管每件事都会在一分钟内关闭。
发布于 2014-03-10 10:33:34
问题在于retina.js的工作方式。由于github上的这个替代版本,终于找到了解决方案。
https://github.com/chrishunt/retinajs/blob/master/src/retina.js
发布于 2016-01-17 18:40:16
Rails应用程序和aws-sdk创业板也有相同的问题和设置。目标:通过jQuery FileUpload插件将文件直接上传到FileUpload。即使在我的S3桶上正确设置了CORS,也不能处理上面的错误。
我忽略了一件事:在遵循本教程时,我在config/initializers/aws.rb中设置了config/initializers/aws.rb。但是,我在AWS上创建的S3桶实际上位于eu-central-1区域。
解决方案:将Aws.config.update初始化程序设置为前面在S3控制台中选择的相同区域:)
https://stackoverflow.com/questions/22289709
复制相似问题