如何更改当前文档的域名?

时间:2011-10-21 06:15:48

标签: javascript google-chrome

我在来自其他域的iframe中有一个document。由于这个原因,浏览器似乎阻止我访问内部iframe。我可以将两个域更改为相同的值吗?我尝试了document.domain = 'targetdomain',但是抛出了DOM异常。

1 个答案:

答案 0 :(得分:4)

iframe的域是加载到iframe中的URL的域。

如果您喜欢在其他域上,可以将iframe.src更改为其他文档,但在保持加载相同文档的同时无法更改iframe本身的域名,以便您能够访问内容这将是same-origin policy保护的非常安全违规行为。

更改域的一个例外是使用子域时。您可以阅读here

因此,除非这两个域中的一个是另一个域的子域,否则您无法从另一个域访问。

在最新的浏览器中,有一种HTML5消息传递方案,允许来自不同域的两个协作帧/窗口相互交换消息。这里的关键是两个框架/窗口必须合作才能实现(意味着你必须对两个框架/窗口进行代码控制)。您可以阅读有关here的更多信息。