1

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

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

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

http://mysite.comhttp://www.mysite.com获取属性 Window.document 的权限被拒绝 。

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

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

有任何想法吗?

4

2 回答 2

0

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

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

于 2011-01-30T10:35:32.160 回答
0

正如尼克指出的那样,问题是域不匹配。如果你在同一个域中,你可以这样做:

  1. 在您将在 iframe 中加载的页面上打开您的 Web 控制台。
  2. 进入document.domain
  3. 确保document.domain在包含 iframe 的页面上设置为相同的值。
于 2014-04-04T16:02:54.357 回答