我在 托管一个文件domain.com
,其中包含一个 iframe,其文档托管在s3.domain.com
. 我正在尝试访问 iframe 的内容,但是收到以下内容:
不安全的 JavaScript 尝试从 URL http://domain.com/的框架访问具有 URL http://s3.domain.com.s3.amazonaws.com/file.html的框架。域、协议和端口必须匹配。
我明白这其中的原因。我找到了两个解决方法。
- 由于我拥有这两个文档,因此我可以将域属性设置为允许访问,如下所示:
document.domain = 'domain.com';
- 使用 CORS 允许访问托管在 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>
</CORSRule>
</CORSConfiguration>
但是,这仍然会导致错误。我确定我错过了一些东西,但不确定是什么。
任何意见,将不胜感激。谢谢。