同一域上的 iframe 的权限被拒绝 - Apache vhost cfg 问题?
我正在使用 javascript 操作页面上的 iframe,该页面从与执行操作的页面相同的域加载内容。事实上,在 iframe src 中,我使用的是这样的相对路径:
<iframe id="myiframe" src="/foo/bar.html" .../>
页面在 iframe 中显示没有问题,但是当我尝试使用 javascript 访问 iframe 时,出现此错误:
权限被拒绝 http://mysite.com 获取属性 窗口.文档来自 http://www.mysite.com。
我知道 http://www.mysite.com 和 http://mysite.com 被视为不同的域,无论它们实际存在于何处,但我从未配置任何内容来使用 www.子域。所以我不知道 www 部分来自哪里。我最好的猜测是我需要更改虚拟主机配置中的某些内容。我正在使用 Apache 2,并且有一个非常简单的虚拟主机配置文件:
<VirtualHost *>
ServerName mysite.com
DocumentRoot /path/to/mysite.com/www
</VirtualHost>
有什么想法吗?
I'm using javascript to manipulate an iframe on a page which loads content from the same domain as the page doing the manipulation. In fact in the iframe src I am using a relative path like this:
<iframe id="myiframe" src="/foo/bar.html" .../>
The page displays in the iframe without problems, but when I try to access the iframe using javascript, I get this error:
Permission denied for
http://mysite.com to get property
Window.document from
http://www.mysite.com.
I know http://www.mysite.com and http://mysite.com are considered different domains regardless of where they physically exist, but I've never configured anything to use the www. subdomain. So I have no idea where the www part is coming from. My best guess is that I need to change something in my vhosts configuration. I'm using Apache 2 and I have a very simple virtual host config file:
<VirtualHost *>
ServerName mysite.com
DocumentRoot /path/to/mysite.com/www
</VirtualHost>
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
"www.mysite.com" != "mysite.com"
跨框架/窗口通信需要在同一协议+主机名+端口上
"www.mysite.com" != "mysite.com"
cross frame/window communication needs to be on the same protocol+hostname+port
正如 Nick 指出< /a>,问题是域不匹配。如果您位于同一域,则可以执行以下操作:
document.domain
document.domain
设置为相同的值。As Nick noted, the issue is a domain mismatch. If you're on the same domain, you can do this:
document.domain
document.domain
on the page containing the iframe is set to the same value.