对同一域上的源iframe的权限被拒绝 - Apache vhost cfg问题?

时间:2011-01-29 23:53:38

标签: javascript html ajax apache vhosts

我正在使用javascript来操作页面上的iframe,该页面从执行操作的页面加载来自同一域的内容。实际上在iframe src中我使用的是这样的相对路径:

<iframe id="myiframe" src="/foo/bar.html" .../>

该页面在iframe中显示没有问题,但是当我尝试使用javascript访问iframe时,我收到此错误:

  

许可被拒绝   获得财产http://mysite.com   Window.document来自   http://www.mysite.com

我知道http://www.mysite.comhttp://mysite.com被认为是不同的域名,无论他们身在何处,但我从未配置任何使用www的内容。子域。所以我不知道www部分来自哪里。我最好的猜测是我需要在我的vhosts配置中更改一些内容。我正在使用Apache 2,我有一个非常简单的虚拟主机配置文件:

<VirtualHost *>
    ServerName mysite.com
    DocumentRoot /path/to/mysite.com/www
</VirtualHost>

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

“www.mysite.com”!=“mysite.com”

跨框架/窗口通信需要在相同的协议+主机名+端口

答案 1 :(得分:0)

作为Nick noted,问题是域名不匹配。如果您位于同一个域中,则可以执行以下操作:

  1. 在您将加载到iframe中的页面上打开您的网络控制台。
  2. 输入document.domain
  3. 确保包含iframe的网页上的document.domain设置为相同的值。